Mysql

區域、經理和總經理的關係設計

  • January 2, 2021

給定一些規範,我需要為組織設計一個數據庫。其中一個部分與區域有關。組織中有不同的區域,每個區域都有一個老闆,也有一個員工作為所有區域的老闆。我的問題是關於我應該如何表明哪個員工是所有領域的老闆。

   | 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_idand employee_id(as manager_id) 的地方,以表示表之間的技術上的多對多關係。然後各個區域的老闆都會有一個記錄在那裡Area

這是一種更規範的設計,如果由於某種原因需要所有區域的多個老闆,或者多個員工負責同一區域的特殊情況,則更靈活。

引用自:https://dba.stackexchange.com/questions/282444