到目前爲止,我有以下SQL Server數據庫和一個表。SQL Server數據庫設計用戶,組,角色和成員
----------------
|Users |
----------------
| UserId PK |
| |
| Other fields |
----------------
我需要一些更多的表添加到它是不是一個問題,但是這是我們的目標:
---------------- ---------------- ---------------- ----------------
|Users | |Roles | | Teams | | Groups |
---------------- ---------------- ---------------- ----------------
| UserId PK | | RoleId PK | | TeamId PK | | GroupId PK |
| | | | | | | |
| Other fields | | Other fields | | Other fields | | Other fields |
---------------- ---------------- ---------------- ----------------
我需要達到如下:
我有X的用戶數量
- 用戶1
- 用戶2
- 用戶X
我有3個角色,只爲所有用戶在所有的團隊使用和團體
- 聯繫
- 會員
- 遊客
一用戶可以創建隊伍的X量
- TEAM1
- 的Team2
- TeamX
一個用戶可以創建羣組
- 組別1
- 組2 的X量
- GroupX
團組可分配有不同的角色(管理員,會員,遊客)用戶
一個用戶可以屬於一個或多個團隊或羣體
一用戶可以屬於一個或多個角色
我很難理解這些表之間的關係。
以下是我根據@Robertas Valeika的回答設法實現的。
http://i58.tinypic.com/3588h0i.png
謝謝你的評論。我設法做到了。 http://i57.tinypic.com/2r2c51i.png你可以檢查一切是否正常,關係(1 .. *,* .. * ...等) – 2014-10-01 19:04:16
每張表必須有一列作爲PK一個如果需要)。和關係團隊 - UserRolesTeams(一對多)與組和UserRoles相同 - UserRolesTeams(一對多)。我沒有看到關於團隊和團隊的創建者專欄。 – 2014-10-01 19:15:35
我做了最終版本:http://i58.tinypic.com/3588h0i.png – 2014-10-01 21:01:37