2016-10-16 62 views
0

我試圖實施以下情形:SQL服務器:三元關係

  • 員工可以在不同的位置在同一時間
  • 每個位置都連接到一個項目

工作請注意,某些職位不一定與項目相關(員工經理沒有項目)

我已經制作了一個圖表,以便更好地瞭解我需要做什麼。請參閱下面的圖表。從圖表和在互聯網上搜索。我發現這可能是一種三元關係。但我找不到,我怎麼能實現這一點。我在Visual Studio 2015中使用SQL Server並使用T-SQL create語句。

如何在SQL Server數據庫中實現這個功能?

Ternary relationship

+0

最多一個項目連接到每個位置相關聯? –

+0

@CharlesBretana是的,每個職位最多連接到一個項目。 –

回答

1

如果每個位置只能有最多一個項目,然後

enter image description here

0

創建以下3個表。

1. [Employee] - 包含員工詳細信息的表格。
2. [Project] - 表項目的細節。
3. [Position] - 帶有位置信息的表格,如PositionID,ProjectID,EmployeeID,CreatedDate以及其他字段。另外,在表[Position]PositionID,EmployeeID & ProjectID的組合上創建主鍵。添加外鍵約束以防止[Position]表中的無效數據。