Normalization
評估關於第三範式的陳述
考慮以下陳述:
- 如果 R 的每個非主屬性在功能上完全依賴於 R 的某個鍵,則關係 R 在 3NF 中。
陳述真或假。
給出的答案是正確的。但我認為它是錯誤的。
範例:讓
R(A,B,C)
成為與功能依賴關係的關係{A→B, B→C}
。這
A
是候選鍵和兩者B
,並且C
在功能上完全依賴於A
,A→B
對A→C
嗎?但這種關係顯然不在 3NF 中。我哪裡錯了?
根據我在此處找到的定義,如果滿足以下條件,則屬性集
X
將在功能上完全依賴於屬性集:Y
X
在功能上取決於Y
和X
在功能上不依賴於 的任何子集Y
。這裡
C
在功能上依賴於A
並且在功能上C
不依賴於 的任何子集A
。所以這意味著它C
在功能上完全依賴於A
對嗎?
練習說:
一個關係 R 在 3NF 中,如果 R 的每個非主屬性在功能上完全依賴於 R 的某個鍵。
正如您所指出的,該定義是不精確的。讓我們嘗試糾正它:
一個關係 R 在 3NF 中,如果 R 的每個非主屬性在功能上完全依賴於某個(候選)鍵而不依賴於其他任何東西。
當然,這樣的定義也應該排除瑣碎的依賴或派生的依賴,其中左側部分包含多餘的屬性。