我有以下表格:Department
、Section
、Employee
、Manager
和 Position
。表之间的关系如下:
- 每个部门包含许多部分
- 每个部门包含多个职位,每个职位可能与不同部门共享
- 每个部门都有一名经理
- 每个经理可能有不同的职位,例如,泌尿科主任是经理的职位,而作为员工,他是泌尿科顾问。作为一名员工,他有两个职位。
从上图中可以看出
DepartmentSections
是部门和部门之间的联接表DepartmentPositions
是部门和职位之间的联接表
我现在的问题是,我应该如何配置管理器?我正在考虑建立两个关系,第一个是 Manager 和 DepartmentSections
之间的关系,以及 Manager 和 DepartmentPositions
之间的关系,这里的问题是我将得到两个 DepartmentId
Manager
表中的 code> 字段。
我的分析有错误吗?如何构建此模型以避免 Managers 表中出现 2 个 DepartmentId?
最佳答案
对你的帖子的一些想法。这不是一个答案(太长,无法评论),但可能会有所帮助。
Each Department contains many sections
据此我猜您不需要查找表DepartmentSections
,因为这句话描述了一对多而不是多对多关系。您可以在 Sections
表中添加 DepartmentId
。
Each department section has a manager
因此,您可以将 ManagerId
添加到 Sections
表中。
现在对于职位和经理,如果我理解正确,我会将 ManagerId
添加到 DepartmentPositions
。
关于sql - 两个连接表之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39800960/