數據庫中的功能依賴關係

功能依賴性幫助避免數據複製

數據庫中的函數依賴性強制了屬性之間的一組約束。 這發生在關係中的一個屬性唯一確定另一個屬性時。 這可以寫成A→B ,這意味著“B在功能上依賴於A.”。 這也被稱為數據庫依賴

在這種關係中,A確定B的值,而B取決於A.

為什麼函數依賴在數據庫設計中至關重要

功能依賴有助於確保數據的有效性。考慮一張表員工列出的特徵包括社會安全號碼(SSN),姓名,出生日期,地址等。

屬性SSN將確定姓名,出生日期,地址和其他值的值,因為社會安全號碼是唯一的,而名稱,出生日期或地址可能不是。 我們可以這樣寫:

SSN - >姓名,出生日期,地址

因此,姓名,出生日期和地址在功能上依賴SSN。 但是,反向聲明(名稱 - > SSN)不是真實的,因為多個員工可以具有相同的名稱,但永遠不會有相同的SSN。 換一種更具體的方式,如果我們知道SSN屬性的價值,我們可以找到姓名,出生日期和地址的價值。 但是如果我們只知道名稱屬性的值,我們就無法識別SSN。

函數依賴的左側可以包含多個屬性。 假設我們有多個地點的業務。 我們可能會有一個表員工,其中包含員工,職位,部門,地點和經理的屬性。

員工確定他工作的位置,因此存在依賴關係:

員工 - >地點

但該地點可能有多個經理,因此員工和部門一起確定經理:

員工,部門 - >經理

功能依賴和規範化

功能依賴性有助於所謂的數據庫規範化 ,從而確保數據完整性並減少數據冗餘。 沒有標準化,就不能保證數據庫中的數據是準確可靠的。