我一直在閱讀關於如何區分3NF/BCNF中關係的許多不同來源。而我到目前爲止,這是我的理解...在3NF中找到關係但在BCNF中找不到關係
我將利用這個關係作爲一個例子...
R = {A, B, C, D, E}
和
F = {A -> B, B C - > E, E D -> A}
。
首先,我們必須找到關係的關鍵。 I used this video to help me do that.而且我得到了
Keys = {ACD, BCD, CDE}
我們確保R
是BCNF,我們必須確保在F
每一個函數依賴的左邊是Keys
之一。我們立刻知道情況並非如此,因爲第一個FD是A -> B
而A
不是其中一個關鍵。 所以它不在BCNF。
我們確保R
是3NF,我們必須確保在F
每一個函數依賴的左邊是Keys
OR在F
每一個函數依賴的右手邊是一個其中一個Keys
的子集。如果您查看每個FD的右側,它們是B
,E
和A
。這些都是Key
的子集,所以這意味着它是在3NF中的。
所以這是的罕見箱子(根據維基),其中的關係是3NF
之一,但在不BCNF
。這種方法是否正確?它可靠嗎?我錯過了什麼?
是的,你做的一切都是正確的。 – laurids
你可能想看看這個:http://class2go.stanford.edu/db/Winter2013 – laurids