数据库管理系统 (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)。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 语言
C++
C#
MongoDB
MySQL
Javascript
PHP