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價格 (美元) | |
| M08 | L09 | 180 |
| M03 | L05 | 250 |
| M05 | L09 | 180 |
<Listing>
列表ID (Listing_ID)
| 列表型別 (Listing_Type) | |
| L09 | 犯罪片 |
| L05 | 劇情片 |
| L09 | 犯罪片 |
現在上述關係處於規範化的第三正規化 (3NF)。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP