資料庫管理系統 (DBMS) 中的傳遞依賴項
什麼是傳遞依賴?
當間接關係導致函式依賴時,即稱為傳遞依賴。
如果 P -> Q 且 Q -> R,則 P-> R 為傳遞依賴。
為達到第三正規化 (3NF),需要消除傳遞依賴。
示例
<MovieListing>
Movie_ID | Listing_ID | Listing_Type | DVD_Price ($) |
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>
Movie_ID
Listing_ID | DVD_Price ($) | |
M08 | L09 | 180 |
M03 | L05 | 250 |
M05 | L09 | 180 |
<Listing>
Listing_ID
Listing_Type | |
L09 | 犯罪 |
L05 | 戲劇 |
L09 | 犯罪 |
現在,上述關係處於正規化的第三正規化 (3NF)。
廣告