我正在爲我的公司開發一個Intranet應用程序。公司結構複雜,業務線,部門,部門,單位,團體多。我必須照顧所有這些事情。部分員工在部門層面工作,其中一些員工在部門層面工作等等。現在的問題是數據庫設計。我對如何設計數據庫感到困惑。在開始的時候,我決定把它設計如下:如何在數據庫設計中包含這些要求?
Employees: Username, Name, Title, OrgCode
Departments: OrgCode, Name
Divisions: OrgCode, Name
Units: OrgCode, Name
但問題正如我以前說過,有些員工在部門合作,因此如何使所有這些表之間的關係。是否有可能在Employees表中將OrgCode作爲Departments,Divisions和Units表中的OrgCode的外鍵?
能否請您推薦我如何設計它?
更新: @wizzardz把一個很好的數據庫設計。現在我需要的是一個適合數據庫設計的數據示例 以下是我在數據庫中使用的一組數據: 讓我們假設我們有員工提供以下信息: 用戶名:JohnA 名稱:John 標題:Engineer OrgCode:AA
讓我們假設我們有部門AA,我將如何將這些數據分佈到數據庫設計中?
有多少部門? –
將OrgCode存儲在employees表中意味着每個員工一次只能屬於一個部門;某些員工可能屬於多個部門,而且您不存儲任何從部門到部門的人員的歷史記錄。 –
員工只能爲一個部門工作。但他可以從該部門轉到另一個部門。那麼哪種設計更好? –