什麼是函式依賴和傳遞依賴(DBMS)?


讓我們首先了解資料庫管理系統 (DBMS) 中的函式依賴是什麼。

函式依賴

函式依賴指的是資料庫中一個屬性與另一個屬性的關係。藉助函式依賴,可以維護資料庫中資料的質量。

表示函式依賴的符號是 ->(箭頭)。

函式依賴示例

考慮下表。

員工編號姓名城市薪資
1bob班加羅爾25000
2Lucky德里40000

員工的姓名、薪資和城市資訊可透過員工編號(或員工ID)獲得。因此,可以說城市、薪資和姓名屬性函式依賴於員工編號屬性。

示例

SSN->ENAME read as SSN functionally dependent on ENAME or SSN
   determines ENAME.
PNUMBER->{PNAME,PLOCATION} (PNUMBER determines PNAME and PLOCATION)
{SSN,PNUMBER}->HOURS (SSN and PNUMBER combined determines HOURS)

傳遞依賴

傳遞依賴是透過使用三個以上屬性的關係獲得的。

這些依賴用於將資料庫規範化到3NF。

傳遞依賴示例

考慮下表:

書籍書籍作者作者年齡
ABCHari45
PQRJames60

依賴關係如下:

{Book} -> {Book_Author}
{Book_Author} does not -> {Book}
{Book_Author} -> {Age_of_Author}

因此,根據傳遞性,{書籍} -> {作者年齡}。因此,如果知道書籍,就必須知道作者的年齡。

問題

關係 R(ABCDEF) 和 F: {AB->C, C->A, B->DE, ABD->F}。找到傳遞依賴。

解答

AB+=ABCDE => AB是候選鍵

C+=CA

B+=BDE

ABD+=ABDFCE => ABD不是候選鍵[因為AB是候選鍵]。

=>鍵屬性={A,B},非鍵屬性={C,D,E}

AB->C 不是傳遞依賴。

C->A 不是傳遞依賴。

B->DE 是傳遞依賴[因為B不是候選鍵/超鍵,DE是非鍵屬性]。

ABD->F 不是傳遞依賴[因為ABD是超鍵]。

更新於:2021年7月6日

13K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.