DBMS 中的传递依赖
dbmsdatabasemysql更新于 2026/3/2 9:16:17
什么是传递依赖
当间接关系导致函数依赖时,它被称为传递依赖。
如果 P -> Q 且 Q -> R 为真,则 P-> R 是传递依赖。
要实现 3NF,请消除传递依赖。
示例
<MovieListing>
| Movie_ID | Listing_ID | Listing_Type | DVD_Price ($) |
| M08 | L09 | Crime | 180 |
| M03 | L05 | Drama | 250 |
| M05 | L09 | Crime | 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 | Crime |
| L05 | Drama |
| L09 | Crime |
现在上述关系符合规范化的第三范式(3NF)。
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:/mysql/