資料庫管理系統中的依賴型別


DBMS 中的依賴是兩個或多個屬性之間的關係。它在 DBMS 中具有以下型別:

  • 函式依賴
  • 完全函式依賴
  • 傳遞依賴
  • 多值依賴
  • 部分依賴

讓我們從函式依賴開始:

函式依賴

如果表中儲存的資訊可以唯一地確定同一表中的其他資訊,則稱為函式依賴。可以將其視為同一關係中兩個屬性之間的關聯。

如果 P 函式決定 Q,則

P -> Q

讓我們看一個例子:

<員工>

員工ID員工姓名員工年齡
E01Amit28
E02Rohit31

在上表中,**員工姓名** 函式依賴於 **員工ID**,因為對於給定的 **員工ID** 值,**員工姓名** 只能取一個值:

員工ID -> 員工姓名

如下所示:

完全函式依賴

如果一個屬性函式依賴於另一個屬性,並且不依賴於其任何真子集,則稱該屬性完全函式依賴於另一個屬性。

例如,如果屬性 Q 函式依賴於屬性 P,並且不依賴於 P 的任何真子集,則屬性 Q 完全函式依賴於屬性 P。

讓我們看一個例子:

<專案成本>

專案ID專案成本
0011000
0025000

<員工專案>

員工ID專案ID**天數**(在專案上花費的天數)
E099001320
E056002190

上述關係說明

員工ID,專案ID,專案成本 -> 天數

但是,它不是完全函式依賴的。

而子集**{員工ID,專案ID}** 可以很容易地確定員工在專案上花費的**{天數}**。

這總結並給出了我們的完全函式依賴:

{員工ID,專案ID} -> (天數)


傳遞依賴

當間接關係導致函式依賴時,稱為傳遞依賴

如果 P -> Q 和 Q -> R 為真,則 P-> R 是傳遞依賴。

多值依賴

當表中一行或多行的存在意味著同一表中的一行或多行時,就會發生多值依賴

如果一個表具有屬性 P、Q 和 R,則 Q 和 R 是 P 的多值事實。

它由雙箭頭表示:

->->

例如

P->->Q Q->->R

在上述情況下,只有當 Q 和 R 是獨立屬性時,才存在多值依賴。

部分依賴

部分依賴是指非素屬性函式依賴於候選鍵的一部分的情況。

第二正規化 (2NF) 消除了部分依賴。讓我們看一個例子:

<學生專案>

學生ID專案編號學生姓名專案名稱
S01199Katie地理位置
S02120Ollie叢集探索

在上表中,我們有部分依賴;讓我們看看如何:

主鍵屬性是**學生ID** 和 **專案編號**。

如前所述,非素屬性,即 **學生姓名** 和 **專案名稱** 應該函式依賴於候選鍵的一部分,才能成為部分依賴。

**學生姓名** 可以由 **學生ID** 確定,這使得關係成為部分依賴的。

**專案名稱** 可以由 **專案ID** 確定,這使得關係成為部分依賴的。

更新於:2023-09-06

50,000+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.