2017-05-11 61 views
0

我需要將模型DB降低到3NF。然而,數據中有一列很含糊。轉換爲3NF

所以數據庫有以下幾列。 (道歉的格式,我也嘗試)

 
Employer ID | ContractNo | Hours | emp Name | workNo | workLocation 
--  
123   | A1   | 10 | J Smith | W36 | New York 
124   | A1   | 7  | P Jones | W36 | New York 
125   | A2   | 9  | R Lewis | W37 | Los Angeles 
123   | A2   | 9  | J Smith | W37 | Los Angeles 

每個員工都有一個唯一的ID,員工可以在1個多地方工作,每個單元都有一個唯一的workNo。我只是有點卡在哪裏包括ContractNo。在問題實際上是什麼沒有跡象。

因此,我的第一步是將其拆分成EmployerID,員工姓名和工作時間表。另外還有WorkNo,WorkLocation。但是,我對那個血腥的ContractNo做了什麼?

+2

在可以標準化關係之前,首先標識並列出應用的功能依賴關係。 – reaanb

+1

您使用什麼參考進行標準化?你的問題與知道什麼是標準化是不一致的。 – philipxy

+0

是第一列「僱主ID」還是「員工ID」? –

回答

0

我預計合同可能是一個單獨的實體,捕捉承包商和被承包商之間關係的性質。

enter image description here

圖片來自QuickDBD,我工作的地方。

+1

規範化爲更高級的NFs會替換其他預測它並加入其中的表。它不會引入新的列。 – philipxy

+0

非常真實!我介紹了新的列以在小模式中建立命名標準,特別是對於密鑰。我不能忍受使用'emp名稱'作爲主鍵例如:)很抱歉,如果分心從我的主要觀點:介紹合同表。 – TrevorJ

+1

問題是關於歸一化到3NF,並且這個答案(如問題)並不反映這是什麼的理解。請參閱有關問題的評論。 – philipxy