簡體   English   中英

博伊斯·科德范式

[英]Boyce-Codd Normal Form

我不了解博伊斯·科德范式。 我看了看課本,但聽不懂。 假設關系R =(A,B,C,D,E)且F = {A-> C,D-> CB,AC-> E}。 您如何確定R是否在BCNF中? 需要幫忙。 謝謝!

為了確定某個關系是否為BCNF,我們檢查它的功能依賴性。

對於每個FD X→Y,我們都有BCNF

  • X→Y是瑣碎的函數依存關系(Y⊆X)
  • X是架構R的超鍵。

FD為A→C,D→CB,AC→E。 讓我們從第一個FD A→C開始。

A→C不平凡,因為C∉A。A→A是平凡的依存關系。

現在A→C是超級鍵嗎? 為了檢查我們是否計算了FD左手邊的閉合,在這種情況下為A。閉合是A邏輯上隱含的所有元素。[A] + = A∪C∪E = ACE或因此我們有A→ACE。

ACE不是超鍵,因為它確實包含關系的所有屬性。

因此該關系不在BCNF中,因為A→C既不重要也不是超鍵。

還有其他違反BCNF的行為。 [D] + = BCD,它不是超鍵也不是瑣碎的。 [AC] + = ACE,它不是超鍵也不是瑣碎的。

希望這可以幫助! 我認為一切都是正確的,但是我現在正在研究決賽,並嘗試學習很多此類材料。

非正式地,您首先確定所有候選鍵。 然后,您查看功能依賴項中的箭頭。

如果每一個箭頭的箭候選鍵,它在BCNF。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM