Normalization
BCNF 中是否存在具有函式依賴 {AB->C, C->B} 的關係 R(A,B,C)?
如果不是,那麼如何在無損和保持依賴關係的同時使其成為 BCNF?
我可以看到R的主鍵是AB。在 BCNF 中,每個函式依賴都應該是這樣的形式
$$ Key $$->$$ Key or Non-key $$. 但是C->B不能滿足這一點。 我知道如果我進行任何分解,我將失去**AB->C依賴關係。**但我無法弄清楚哪種分解是無損的。如果有人可以幫助我,我將不勝感激。
給定 AB->C, C->B 我們只能推斷 AB 和 AC 是鍵。因此,C 不是超級密鑰,因此 R 不滿足 BCNF。
以下是滿足 BCNF 的可能分解
R1{A,B} KEY {A,B} R2{A,C} KEY {A,C} R3{C,B} KEY {C}
基於以下定義 BCNF 的標準:
X → Y 是一個平凡的函式依賴 (Y ⊆ X)
要麼
X 是模式 R 的超級鍵
我會說你的關係 R(A,B,C) 在 BCNF 中,具有 {AB → C, C → B} 的函式依賴關係
原因是存在{A→C}的隱含關係。B直接由C決定,但C也直接由AB的組合決定。如果 B 在確定 C 時真的很重要,我們就會有一個依賴循環。
這種隱式關係允許 {AB → C} 屬於“X 是模式 R 的超級鍵”,因為 A 是模式的主鍵。A → C,C → B,因此 A → BC。任何包含 A 的關係都是超鍵。
第二個函式依賴是一個普通的依賴,{C → B}。