2016-07-29 63 views
2

考慮保留員工記錄的系統。數據庫應該存儲員工姓名,部門等。每個員工都有一個報告管理員,他必須向他報告。 有4個級別的員工 -爲此示例數據庫繪製ERD

  1. 初級工程師
  2. 高級工程師
  3. 團隊負責
  4. 高層團隊領導

每個初級工程師擁有高級工程師報告。每位高級開發人員都必須向團隊負責人彙報。每個團隊領導都必須向高級團隊主管彙報。

我來到了這個想法: -

將有兩個表

1.Employee

2.Reporting

Employee table將包含諸如僱員所需的信息,員工姓名,部門名稱等;主鍵是EmployeeID

Reporting Table將包含兩列EmployeeID和ReportingMangerID; EmployeeID是與員工表的主鍵相關的外鍵。

我不知道我是否正確。

回答

1

如果符合下列條件:

  • 一個員工的報表給其他員工0..1
  • 一個員工都有0..N報告

然後你就可以有 「經理」作爲僱員表的屬性。

如果符合下列條件:

  • 一名員工報告0..N其他員工
  • 一個員工都有0..N報告

然後,你需要有你的結構。

+0

我認爲第一個條件是真的。在那種情況下不需要額外的表格,對吧? – BlackCat

+0

「經理」實際上成爲「員工」的屬性,因此您不需要額外的表格。 –

+1

由於此問題標記爲ERD,請注意,在ER中,屬性是從實體集到值集的映射,而不是從實體集到實體集的映射。你所描述的是非規範化的關係而不是屬性。 – reaanb