两个连接表之间的关系

时间:2016-09-30 22:28:03

标签: sql sql-server database sql-server-2012

我有以下表格:DepartmentSectionEmployeeManagerPosition。表格之间的关系如下:

  • 每个部门都包含许多部分
  • 每个部门包含许多职位,每个职位可能与不同部门共享
  • 每个部门都有一名经理
  • 每位经理可能会有不同的职位,例如,泌尿科主席是一名经理,而作为一名员工,他是泌尿科顾问。作为一名员工,他有两个职位。

enter image description here

从上图中可以看出

  • DepartmentSections是Departments和Sections之间的Join表
  • DepartmentPositions是部门与职位之间的联接表

我现在的问题,我应该如何配置经理?我想在管理者和DepartmentSections以及经理和DepartmentPositions之间建立两个关系,这里的问题是我将在表{{1}中得到两个DepartmentId字段}}

我的分析中有错误吗?如何构建这个模型以避免表管理器中的2个DepartmentId?

1 个答案:

答案 0 :(得分:2)

对你的帖子有些想法。这不是答案(评论时间太长),但可能会有所帮助。

  

每个部门都包含许多部分

由此我猜你不需要查找表DepartmentSections,因为这句话描述了一对多而不是多对多的关系。您可以在DepartmentId表格中添加Sections

  

每个部门都有一名经理

因此,您可以将ManagerId添加到Sections表。

现在,对于职位和经理,如果我理解正确,我会将ManagerId添加到DepartmentPositions