好吧所以,我有一个用户表,并希望一起定义用户组。最好的解决办法我有,这是创建三个数据库表如下:如何设计此链接表?
用户表
user_id
user_name
UserGroupLink
group_id
member_id
的GroupInfo
group_id
group_name
这种方法保持成员,团体信息分开。这只是我的想法。有一个更好的方法吗?另外,链接两个其他表的良好命名约定是什么?
好吧所以,我有一个用户表,并希望一起定义用户组。最好的解决办法我有,这是创建三个数据库表如下:如何设计此链接表?
用户表
user_id
user_name
UserGroupLink
group_id
member_id
的GroupInfo
group_id
group_name
这种方法保持成员,团体信息分开。这只是我的想法。有一个更好的方法吗?另外,链接两个其他表的良好命名约定是什么?
外貌,好,我会去的:
Group
-----
GroupID (PK)
Name
CreatedDate
GroupUser
---------
GroupUserID (PK)
GroupID (FK)
UserID (FK)
CreatedDate
User
----
UserID (PK)
Firstname
Lastname
CreatedDate
...
看起来像一个相当标准的基于角色的用户模型给我。这可以。
重要的是要选择一个惯例并坚持下去。
以下是我会说出这些表(该结构是好的,顺便说一句):
Users
-----
id
name
UserGroups
----------
user_id
group_id
Groups
------
id
name
你的表格布局是合适的,恕我直言。连接表有各种不同的命名约定--Ruby on Rails使用以下划线连接的表名,按照字母顺序排列:“group_member”。
除了答案,创建表格的决定并不依赖于一个观点。有我们所说的数据库规范化;数据库设计中遵循的规则。
这里有缺少的信息。用户可以属于多个组吗?属于一个组是可选的还是强制性的?您提出的解决方案是可以的,但如果用户只能有一个组,则可以进一步削减。另外,调用它的成员id与被调用的实体不一致。 – 2010-05-07 18:50:00