Mysql
區域、經理和總經理的關係設計
給定一些規範,我需要為組織設計一個數據庫。其中一個部分與區域有關。組織中有不同的區域,每個區域都有一個老闆,也有一個員工作為所有區域的老闆。我的問題是關於我應該如何表明哪個員工是所有領域的老闆。
| employee_id | name | | 1 | Mark | | 2 | Carol | | 3 | Adam | | 4 | Andy | | area_id | area_name | manager | | 1 | Chemistry | 2 | | 2 | Electronics | 4 | | 3 | Medicine | 3 | | 4 | ALL | 1 |
目前我想到的是在關係“AREA”中創建一個名為“ALL”的事件來指示所有區域的頭部,但是我不確定這是最好的方法還是正確的方法。還有什麼想法嗎?
可以使用“ALL”值作為 an,
Area
但添加第三個表作為連結表可能更可取且更靈活,EmployeeArea
而不是呼叫。該
EmployeeArea
表是您可以儲存area_id
andemployee_id
(asmanager_id
) 的地方,以表示表之間的技術上的多對多關係。然後各個區域的老闆都會有一個記錄在那裡Area
。這是一種更規範的設計,如果由於某種原因需要所有區域的多個老闆,或者多個員工負責同一區域的特殊情況,則更靈活。