SQL Server:三元关系

时间:2016-10-16 13:54:18

标签: sql-server tsql erd

我正在尝试实施以下方案:

  • 员工可以同时在不同岗位上工作
  • 每个职位都与项目相关联

请注意,某些职位不一定与项目相关(员工经理没有项目)

我制作了一张图表,以便更好地了解我需要制作的内容。请参见下图。从图表和互联网上搜索。我发现它可能是一种三元关系。但我无法找到,我该如何实现这一点。我在Visual Studio 2015中使用SQL Server并使用T-SQL create语句。

如何在我的SQL Server数据库中实现它?

Ternary relationship

2 个答案:

答案 0 :(得分:1)

如果每个职位最多只能与一个项目相关联,那么

enter image description here

答案 1 :(得分:0)

创建以下3个表格。

1. [Employee] - 包含员工详细信息的表格 2. [Project] - 包含项目详情的表格 3. [Position] - 包含与PositionIDProjectIDEmployeeIDCreatedDate等位置相关的信息以及其他字段的表格。另外,在PositionIDEmployeeID和&组合上创建主键。表ProjectID的{​​{1}}。添加外键约束以防止[Position]表中的无效数据。