给定一些规范,我需要为组织设计一个数据库。其中一个部分与区域有关。组织中有不同的区域,每个区域都有一个老板,也有一个员工作为所有区域的老板。我的问题是关于我应该如何表明哪个员工是所有领域的老板。
| 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
。这是一种更规范的设计,如果由于某种原因需要所有区域的多个老板,或者多个员工负责同一区域的特殊情况,则更灵活。