Normalization
關於 2NF 部分密鑰依賴的問題
如果功能依賴是
AB–>CD
BC–>D
關係仍然在 2NF 中嗎?,我的意思是因為 AB 是鍵和第二個 BC,其中 B 是鍵的一部分,關係是否仍然在2NF??
假設您的關係是
ABCD
並假設您的意思是以下功能依賴關係:
- AB–>C
- BC–>D
然後你需要分解這個關係以得到第三範式(3NF)。這是因為 D 不是由 的鍵決定的
ABCD
。要將其帶到 3NF,您需要有兩個關係:ABC
和BCD
. 現在每個非鍵屬性都完全依賴於其關係的鍵(僅此而已)。
來自維基百科,第二範式:
**第二範式 (2NF)是用於數據庫規範化的範式。2NF 最初由 EF Codd 於 1971 年定義。處於第一範式 (1NF) 的表必須滿足附加條件才能符合第二範式。具體來說:一個表在 2NF 中當且僅當它在 1NF 中並且沒有非主屬性依賴於表的任何候選鍵的任何適當子集。**表的非主屬性是不屬於表的任何候選鍵的屬性。
只有一個候選鍵,即
AB
.關於其他兩個非主要屬性
C
和D
:
C
僅取決於候選鍵AB
。D
取決於候選鍵AB
和BC
。BC
既不是候選鍵,也不是(唯一的)候選鍵的真子集。(它B
是候選鍵的子集並不重要,因為D
不依賴於B
。)因此,關係在 2NF 中。