什麼是功能依賴的最小集或FD的正規化覆蓋?


一組功能依賴 (FD) E 的最小覆蓋是一個與 E 等價的最小依賴集 F。

其正式定義如下:如果一組 FD F 滿足以下條件,則稱其為最小集:

  • F 中的每個依賴項在其右側只有一個屬性。

  • 我們不能用依賴項 Y->A 替換 F 中的任何依賴項 X->A,其中 Y 是 X 的真子集,並且仍然有一組與 F 等價的依賴項。

  • 我們不能從 F 中刪除任何依賴項,並且仍然有一組與 F 等價的依賴項。

正規化覆蓋稱為最小覆蓋,也稱為 FD 的最小集。如果 FC 中的每個 FD 都是:

  • 簡單 FD。
  • 左簡化 FD。
  • 非冗餘 FD。

**簡單 FD** - X->Y 是一個簡單 FD,如果 Y 是單個屬性。

**非冗餘 FD** - X->Y 是一個非冗餘 FD,如果它不能從 F-{X->y} 中推匯出來。

**左簡化 FD** - X->Y 是一個左簡化 FD,如果 X 中沒有多餘的屬性。{多餘屬性:如果 XA->Y,則如果 X->Y,則 A 是多餘屬性}

示例

考慮一個查詢 F 的正規化覆蓋的示例。

給定的功能依賴如下:

A -> BC

B -> C

A -> B

AB -> C

  • 最小覆蓋:最小覆蓋是與給定 FD 等價的 FD 集。

  • 正規化覆蓋:在正規化覆蓋中,LHS(左側)必須是唯一的。

首先,我們將找到最小覆蓋,然後找到正規化覆蓋。

**第一步** - 將 RHS 屬性轉換為單一屬性。

A -> B

A -> B

B -> C

A -> B

AB -> C

A -> C

**第二步** - 刪除額外的 LHS 屬性

找到 A 的閉包。

A+ = {A, B, C}

A -> B

A -> B

B -> C

A -> B

A -> B

因此,AB -> C 可以轉換為 A -> C

A -> B

B -> C

**第三步** - 刪除冗餘 FD。

現在,我們將以上 FD 集轉換為正規化覆蓋。

A -> BC

B -> C

Bhanu Priya

更新於: 2021年7月3日

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.