1

這是針對我正在處理的數據庫項目,我對與3NF和BCNF有關的部分感到困惑,我以某種方式理解它們,但不能將它們應用於我自己的關係,並且希望如果它被回答爲然後我可以繼續我自己的其他關係。我需要知道這個關係是否屬於3NF和BCNF,爲什麼?

人員:(SID,FNAME,MI,LNAME,位置,位移,PHONE_NUMBER,出生日期,美國能源部,性別,Apt_Number,市,ZIP_CODE)

FD1:(SID) - >(FNAME,MI, Lname,位置,Shift,Phone_number,DoB,DoE,Gender,Apt_Number,City,Zip_code);

FD2:(FNAME,MI,L-NAME,DOB) - >(SID,位置,移位,PHONE_NUMBER,DOE,性別,Apt_Number,城市,ZIP_CODE)

FD3:(ZIP_CODE) - >(城市)

謝謝。

+0

SID ofcourse是主鍵... –

回答

0

確定其簡單,我明白了。因爲在FD3中,Zip_code不是主鍵,城市可以有多個Zip_code,所以它不在3NF中並且必須被分解。創建另一個名爲Zip_Locations的表:{Zip_code(主鍵),City} .Zip_Locations只有一個FD,它的非主鍵取決於候選鍵或主鍵,因此它自動滿足3NF。工作人員會看起來像這樣的員工:(SID,Fname,MI,Lname,職位,班次,Phone_number,DoB,DoE,性別,Apt_Number,Zip_code),之後我可以放心地說關係在BCNF中,因爲所有非主鍵嚴格依賴候選鍵。如果關係中只有一個主鍵,並且它已經滿足3NF,那麼它會自動滿足BCNF。

本網站幫助很多,http://www.tomjewett.com/dbdesign/dbdesign.php?page=subkeys.php

相關問題