檢查給定關係中違反 2NF 的哪個函式依賴 (FD),並將 R 分解為 2NF


規範化是組織資料庫中資料的過程。它有助於消除資料庫中的重複值。規範化將大型表劃分為較小的表,並使用關係將它們連結起來。

正規化用於減少資料庫表中的冗餘。規範化是簡化記錄中資料元素之間關係的過程的名稱。

簡單來說:

規範化是組織資料以最小化的過程。

  • 冗餘/重複。
  • 插入、刪除、更新異常。

正規化

共有六種正規化,如下所示:

  • 第一正規化 (1NF)
  • 第二正規化 (2NF)
  • 第三正規化 (3NF)
  • Boyce-Codd 正規化 (BCNF)
  • 第四正規化 (4NF)
  • 第五正規化 (5NF)

問題

對於給定的關係 R(ABCDE) 和 F:{A->C,B->DE,D->C},檢查哪個函式依賴 (FD) 違反了 2NF,並將 R 分解為 2NF。

解決方案

在 2NF 中,關係必須處於 1NF。在第二正規化中,所有非鍵屬性都完全函式依賴於主鍵。當關系處於 1NF 且不存在部分依賴性時,該關係處於 2NF。

A+ = AC => A 不是候選鍵

B+ = BDEC => B 不是候選鍵

D+ = DC => D 不是候選鍵

AB+ = ACBDE => AB 是一個候選鍵

=> 鍵屬性 = A, B 和非鍵屬性 = C, D, E。

A->C 違反 2NF [因為 A->C 是部分依賴]

B->DE 違反 2NF [因為 B->DE 是部分依賴]

D->C 符合 2NF [因為 D->C 不是部分依賴]

2NF 分解如下:

我們考慮違反 2NF 的 FD,它們如下:

對於 A->C,R(ABCDE) 分解為 R1(AC) 和 R2(ABDE)

對於 B->DE,R2(ABDE) 分解為 R3(BDEC) 和 R4(AB)。

=> 關係 R 的 2NF 分解是 R1(AC)、R3(BDEC)、R4(AB)。

更新於:2021年7月3日

6000+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.