DBMS中的傳遞依賴


什麼是傳遞依賴

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

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

為了實現3NF,消除傳遞依賴。

示例

<MovieListing>

電影ID (Movie_ID)
列表ID (Listing_ID)
列表型別 (Listing_Type)
DVD價格 (美元)
M08
L09
犯罪片
180
M03
L05
劇情片
250
M05
L09
犯罪片
180


上表不是3NF,因為它具有傳遞函式依賴性:

Movie_ID -> Listing_ID
Listing_ID -> Listing_Type


因此,以下具有傳遞函式依賴性。

Movie_ID -> Listing_Type


上述說明關係<MovieListing>違反了第三正規化 (3NF)。

要消除此違規,需要拆分表並刪除傳遞函式依賴。

<Movie>

電影ID (Movie_ID)

列表ID (Listing_ID)
DVD價格 (美元)
M08L09180
M03L05250
M05L09180


<Listing>

列表ID (Listing_ID)

列表型別 (Listing_Type)
L09犯罪片
L05劇情片
L09犯罪片


現在上述關係處於規範化的第三正規化 (3NF)。

更新於:2020年6月15日

23K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.