資料庫管理系統中的函式依賴


什麼是函式依賴

函式依賴在資料庫管理系統(DBMS)中,顧名思義,是表屬性之間相互依賴的關係。由E. F. Codd提出,它有助於防止資料冗餘並識別不良設計。

為了透徹理解這個概念,讓我們假設 P 是一個具有屬性AB的關係。函式依賴用->(箭頭符號)表示。

那麼以下將用箭頭符號表示屬性之間的函式依賴:

A -> B

以上表示:

示例

以下示例將有助於理解函式依賴:

我們有一個<部門>表,其中包含兩個屬性:DeptIdDeptName

DeptId = 部門ID DeptName = 部門名稱

DeptId是我們的主鍵。這裡,DeptId唯一標識DeptName屬性。這是因為,如果您想知道部門名稱,首先需要知道DeptId

DeptIdDeptName
001財務部
002市場部
003人力資源部

因此,DeptIdDeptName之間的上述函式依賴可以確定為DeptId函式依賴於DeptName

DeptId -> DeptName

函式依賴的型別

函式依賴有三種形式:

  • 平凡函式依賴
  • 非平凡函式依賴
  • 完全非平凡函式依賴

讓我們從平凡函式依賴開始:

平凡函式依賴

當 B 是 A 的子集時,就會發生這種情況:

A ->B

示例

我們考慮同一個具有兩個屬性的<部門>表來理解平凡依賴的概念。

以下是平凡函式依賴,因為DeptIdDeptIdDeptName的子集

{ DeptId, DeptName } -> Dept Id

非平凡函式依賴

當 B 不是 A 的子集時,就會發生這種情況:

A ->B

示例

DeptId -> DeptName

以上是非平凡函式依賴,因為DeptName不是DeptId的子集。

完全非平凡函式依賴

當 A 與 B 的交集為空時,就會發生這種情況:

A ->B

Armstrong公理函式依賴的性質

Armstrong公理性質由William Armstrong於1974年提出,用於推論函式依賴。

該性質提出瞭如果滿足以下條件則成立的規則:

  • 傳遞性如果A->B且B->C,則A->C,即傳遞關係。
  • 自反性如果B是A的子集,則A->B。
  • 增強性最後一條規則表示:如果A->B,則AC->BC。

更新於:2023年9月13日

31K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告