数据库管理系统 (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)。
广告