2017-06-03 100 views
1

我學習函數依賴,我就死在這:理論函數依賴

鑑於表L(A,B,C,d)和FD的:AB-> C,C-> D

我們可以從它得到功能依賴BC-> D嗎?爲什麼?

我會說是,因爲我們有C-> D,我們可以去BC-> DB,然後分成BC-> D和BC-> B。這一推理是否正確?

第2範式的表L是?它在第三?它是3.5標準形式嗎?

現在這個,我不是肯定的:我認爲它排在第二,但不是第三範式,但我不知道,如果它在3.5(也許是的,因爲我們只有一個鍵(AB)?) 如果不是的話,我們怎樣才能把它變成3.5NF?

+0

如果你想知道表中的NF是什麼,那麼你必須找到這些NF的* defintions *。你可以通過查找並設計一個* algorithmn *來將表格放入NF中。 – philipxy

回答

1

從​​你可以得到BC → D,你的推理是正確的。這可以通過使用Armstrong’s axioms顯示:

1. From C → D you can derive BC → BD (by augmentation with B) 
2. From BC → BD you can derive BC → D (by decomposition) 

由於關係的唯一候選鍵是AB(所以AB是首要屬性),依賴Ç→d違背了第三範式以及博伊斯-Codd正常形式(有時稱爲3.5正常形式)。如果每個行列式都是超級密鑰,則BCNF中存在關係,但事實並非如此,因爲C不是超級密鑰。如果,即使行列式不是超級密鑰,該關係可能在3NF中,確定性是主要屬性(並且由於D不是素數,所以情況並非如此)。模式是在2NF中,因爲沒有非素數屬性取決於候選密鑰的真子集。