2013-11-05 43 views
4

R = (J,K,L,M,N)具有一組函數依賴關係{J->KL,LM->N,K->M,N->J}SQL-顯示R不處於Boyce-Codd正常形式

我明白BCNF的定義。我相信不存在微不足道的函數依賴關係,並且可能沒有超級關鍵字。我不確定第二部分。你如何從信件中確定一個超級鑰匙?希望對此有所反饋。

回答

1

如果所有函數依賴關係的左側屬性的閉包含所有關係屬性(J, K, L, M, N),則該關係將在Boyce-Codd Normal Form(BCNF)中。換句話說,每個函數依賴項的左側屬性都包含一個鍵。

我們來分析一下你的函數依賴:

  1. J -> KL。然後K -> M,然後LM -> NN -> J。所以,J -> KL滿足BCNF。
  2. LM -> N。然後N -> J,然後J -> KL和 即所有,我們有所有的屬性。
  3. K -> M。這種功能性的 依賴顯然是BCNF的違規行爲,因爲我們無法從依賴關係集中獲得更多屬性 。
  4. N -> J。然後J -> KLK -> M。它滿足BCNF。

因此,第三個依賴違反BCNF和K屬性不是關鍵本身。

+0

更具體地說,屬性的左側必須是「超級鍵」。 – gokcand