我正在为我的大学做一个项目,我对我当前的数据库设计有点好奇:
首先,数据库表的常见命名习惯是什么:单数还是复数?我曾经读过一些关于我的东西,但我不记得了?!(例如表:用户或用户)
第二个问题是针对该项目的:
用户可以登录网站,必须从列表中选择 10 个元素,并为每个元素附加从 1 到 4 的优先级。我的第一次尝试是将用户的选择保存在单行中作为 CSV(例如1,2,3;4,5,6;7,8;9,10 表示选择优先级为 1 的元素 1,2,3 等)。第二次尝试是将每个选项保存为单个条目,例如:[user_id]|[choosen_element]|[choosen_priority]。您认为更好的变体是什么,或者我还没有想到更好的变体?
第三个问题更多的是关于登录和权限管理:
用户可以选择的元素是分组的。每个元素可以在多个组中。有些版主拥有与元素相同的组或其中的一个子集,他们可以编辑他们所拥有的组的所有元素。除了组之外,还有用户的权限,例如用户、版主、管理员等。
在我的上一个设计中,我将用户的权限定义为组表的一部分,以便主持人组中的每个用户都可以编辑他所在的组的项目。
在我的第一次尝试中,我在一个单独的表中拥有组和权限,在我的应用程序中具有单独的逻辑!
将应用程序权限与组分开会更好吗?
如果我错过了什么,或者有人只是喜欢看图片,这是我当前布局的图;)
http://screens.rofln.de/2012-06-19-4f3o3A.png
谢谢!
顺便说一句:如果有人想知道,我正在使用 PHP 和 MySql!