多值依赖
4nf的定义范围
多值依赖属4nf的定义范围,比函数依赖要复杂得多。在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖
数学定义
设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。
平凡的多值依赖与非平凡的多值依赖:
若X→→Y,而Z为空集,则称X→→Y为平凡的多值依赖;若Z不为空,则称其为非平凡的多值依赖。
性质
(1)对称性:使用上述定义的符号,若X→→Y,则X→→Z .
(2)实例r的X或Z每增删一个值,r就须同步增删多条记录。
(3)若X→Y,则X→→Y。故可把函数依赖看成多值依赖的特殊情况。
举例
有这样一个关系 <仓库管理员,仓库号,库存产品号> ,假设一个产品只能放到一个仓库中,但是一个仓库可以有若干管理员,那么对应于一个 <仓库管理员,库存产品号>有一个仓库号,而实际上,这个仓库号只与库存产品号有关,与管理员无关,就说这是多值依赖。
特点介绍
(1)允许X的一个值决定Y的一组值,这种决定关系与Z取值无关。
(2)多值依赖是全模式的依赖关系。
多值依赖的缺点是:数据冗余太大
关系模式分解
为降低数据冗余,作模式分解,使子模式的Z=Ø,仅有平凡多值依赖。对前例,子模式为R1(仓库,雇员),R2(仓库,物资)
参考资料
最新修订时间:2023-10-07 21:00
目录
概述
数学定义
性质
举例
参考资料