簡體   English   中英

SQL數據庫設計 經理與小組之間的角色關系

[英]SQL Database Design | Roles relationship between managers and group

我需要一些幫助來正確設計SQL數據庫。 這是我想要的:

**Group A :**

- Alice (Manager)
- Bob
- Carol

**Group B :**

- Dave (Manager)
- Eve
- Mallory

**Group C :** 

- Oscar (Manager)
- Trudy
- Isaac

**Group Z**

 - Admin (Manager)
 - Alice
 - Dave
 - Oscar

一些限制:

1)每個成員都可以查看其小組中人員的計划。 例如,鮑勃(Bob)登錄時,可以咨詢自己添加的愛麗絲(Alice)和卡羅爾(Carole)的計划。

2)經理可以更新小組成員的時間表,但不能更新他們自己的時間表! 因此,Alice可以管理Bob和Carol,Dave可以管理Eve和Mallory,Oscar可以管理Trudy和Isaac,最后Admin可以管理Alice,Dave和Oscar計划。

3)已經達成共識,愛麗絲將幫助戴夫管理自己的小組,因此愛麗絲可以管理夏娃和馬洛里(但不能管理戴夫),但是夏娃和馬洛里看不到愛麗絲的計划,因為她仍然屬於A組。

4)管理員是唯一可以更新自己計划的經理。 他還可以咨詢每個計划的人,但只有小組中的人才能看到他的計划(所以基本上是Alice,Dave和Oscar)

5)用戶可以在多個組中(也可以在Z組中查看Alice,Dave和Oscar)。 他們將在登錄時選擇咨詢指定小組的計划,因此這不是問題。

我會做類似的事情:

TABLE User
id
nom
prenom
login
password
userGroup

TABLE group
id
groupName
groupManager

但這顯然是行不通的,除非我可以將Array設置為groupManager的值(我不擅長SQL,但我很確定這是不可能的,不是嗎?)

有人可以指導我做一些能讓我達到期望的事情嗎?

由於您的設計要求用戶和組之間存在多對多關系(一個組包含多個用戶;一個用戶可以位於多個組中),因此我將使用以下方式:

User
(
    ID
    , Name
    , Login
    , Password
    , etc.
)

Group
(
    ID
    , Name
    , etc.
)

Group_Role
(
    ID
    , Role_Description
    , etc.
)
User_Group_Role
(
    ID
    , User_ID          -- foreign key to User.ID
    , Group_ID         -- foreign key to Group.ID
    , Group_Role_ID    -- foreign key to Group_Role.ID
)

因此,您的用戶表將包含

 1 | Alice
 2 | Bob
 3 | Carol
 4 | Dave
 5 | Eve
 6 | Mallory
99 | Admin

,您的網上論壇表格將包含

 1 | Group A
 2 | Group B
99 | Group Z

,您的Group_Roles表將包含以下內容

 1 | Consult
 2 | Manage                 -- cannot manage self
 3 | Assist
 4 | SuperManage                -- can manage self

,最后是User_Group_Role表:

1 | 1 | 1 | 2               -- Alice manages Group A
2 | 2 | 1 | 1               -- Bob consults in Group A
3 | 3 | 1 | 1               -- Carol consults in Group A
4 | 4 | 2 | 2               -- Dave manages Group B
5 | 1 | 2 | 3               -- Carol assists with Group B
6 | 5 | 2 | 1               -- Eve consults in Group A
7 | 6 | 2 | 1               -- Mallory consults in Group A
etc.

那有意義嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM