Normalization

關於 2NF 部分密鑰依賴的問題

  • January 11, 2016

如果功能依賴是

AB–>CD

BC–>D

關係仍然在 2NF 中嗎?,我的意思是因為 AB 是鍵和第二個 BC,其中 B 是鍵的一部分,關係是否仍然在2NF??

假設您的關係是ABCD並假設您的意思是以下功能依賴關係:

  • AB–>C
  • BC–>D

然後你需要分解這個關係以得到第三範式(3NF)。這是因為 D 不是由 的鍵決定的ABCD。要將其帶到 3NF,您需要有兩個關係:ABCBCD. 現在每個非鍵屬性都完全依賴於其關係的鍵(僅此而已)。

來自維基百科,第二範式

**第二範式 (2NF)是用於數據庫規範化的範式。2NF 最初由 EF Codd 於 1971 年定義。處於第一範式 (1NF) 的表必須滿足附加條件才能符合第二範式。具體來說:一個表在 2NF 中當且僅當它在 1NF 中並且沒有非主屬性依賴於表的任何候選鍵的任何適當子集。**表的非主屬性是不屬於表的任何候選鍵的屬性。

只有一個候選鍵,即AB.

關於其他兩個非主要屬性CD

  • C僅取決於候選鍵AB
  • D取決於候選鍵ABBCBC既不是候選鍵,也不是(唯一的)候選鍵的真子集。(它B是候選鍵的子集並不重要,因為D不依賴於B。)

因此,關係在 2NF 中。

引用自:https://dba.stackexchange.com/questions/33191