mathcal 对应于什么库_数据库理论

本文探讨了数据库中的多值依赖(MVD)概念,它用于描述属性间的独立性。虽然每个函数依赖(FD)都可以看作一个多值依赖,但有些情况无法仅用FD解释。通过影星和其地址、电影的例子,展示了即使在满足BCNF的关系模式中也可能存在与FD无关的冗余。在这种情况下,属性的独立性和冗余问题可能导致数据存储效率低下,需要通过理解MVD来优化数据库设计。
摘要由CSDN通过智能技术生成

多值依赖(MVD)的定义

多值依赖(MVD)的定义

多值依赖(Multivalued dependency)是两个属性或属性集合之间相互独立的断言. 它是广义的函数依赖.

在某种意义上, 每个FD意味着一个相应的多值依赖. 但是仍然存在有不能用FD解释的属性集合相互独立的情况.

这里我们将说明引起多值依赖的原因和在数据库模式设计中如何使用多值依赖.

属性独立及随之产生的冗余

在设计关系模式时, 有时会有一些偶然的情况, 即某个模式属于 BCNF, 但在相应的关系中还有与 FD 无关的冗余存在.

在 BCNF 模式中最常见的导致冗余的情形是试图把键的两个或多个集合值属性置于同一个关系中.

例 3.28

本例中, 主要存储的对象是影星. 假设影星有多处地址, 地址包括街道(street)和城市(city)两部分.

地址集合(street and city)是关系要存储的一个集合值属性子集.

另一个要存储的集合值属性子集是该影星出演电影的名称(title)和发行年份(year).

关系的模式和所包含的函数依赖关系

因此此关系的模式是 $R(name, street, city, title, year)$

函数依赖集合为空集, 因为不存在非平凡的函数依赖. (注意 $street\not\rightarrow city$, $title\not\rightarrow year$.)

因此关系不存在BCNF违例, 但是数据明显有冗余.

namestreetcitytitleyear

C. Fisher

123 Maple St.

Hollywood

Star Wars

1977

C. Fisher

5 Locust Ln.

Malibu

Star Wars

1977

C. Fisher

123 Maple St.

Hollywood

Empire Strikes Back

1980

C. Fisher

5 Locust Ln.

Malibu

Empire Strikes Back

1980

C. Fisher

123 Maple St.

Hollywood

Return of the Jedi

1983

C. Fisher

5 Locust Ln.

Malibu

Return of the Jedi

1983

表中给出了 Carrie Fisher 的两个假设的地址和她的三部著名的电影. 没有理由只把某个地址和某部影片关联, 而不与另一部影片关联. (除非特别指明她在拍某部电影时, 一直住在其中某个地址.)

因此, 表达影星的地址和电影相互独立的唯一途径是把地址和电影的各种组合(这里总共是 $2\times 3=6$ 种)都罗列出来. 但是这样的组合明显包含数据冗余.

该关系的键是由所有五个属性构成的唯一的键: $(\underline{name}, \underline{street}, \underline{city}, \underline{title}, \underline{year})$.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值