技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

DBMS 中的传递依赖

dbmsdatabasemysql

什么是传递依赖

当间接关系导致函数依赖时,它被称为传递依赖。

如果 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 ($)
M08L09180
M03L05250
M05L09180


<Listing>

Listing_ID

Listing_Type
L09Crime
L05Drama
L09Crime


现在上述关系符合规范化的第三范式(3NF)。


相关文章