好吧所以,我有一個用戶表,並希望一起定義用戶組。最好的解決辦法我有,這是創建三個數據庫表如下:如何設計此鏈接表?
用戶表
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