什么是 DBMS 中的 4NF?
如果关系R在BCNF中并且没有非平凡的多值依赖关系,则它在4NF中。
对于依赖A->B,如果对于A的单个值,存在多个B值,则该关系将是多值依赖。
示例
考虑下表
这里,
regno->->号码
regno->->资格。
两者都是非平凡的MVD
给定的关系在BCNF中[因为不存在函数依赖]。但是上表不在4NF中[因为有一个非平凡的MVD]。
异常
它还存在以下异常情况-
插入异常:如果我们想为regno3插入一个新的phoneno,那么我们必须插入3行,因为对于每个phoneno,我们已经存储了所有三种限定组合。
删除异常:如果我们要删除资格证书,那么我们必须在不止一个地方删除它。
更新异常:如果我们要将资格证书更新为IT,那么我们必须在不止一个地方更新。
4NF分解
如果R(XYZP)有X->->Y和X->->Z那么,R被分解为R1(XY)和R2(XZP)。
=>R(regno,phoneno,qualification)分解为R1(regno,phoneno)和R2(regno,qualification)。
R1
R2
上面讨论的所有异常都被删除了。以上两个关系在4NF中。
现在,regno->->phoneno是微不足道的MVD(因为{regno}U{phoneno}=R1)
=>R1在4NF中。
Regno->->资格是微不足道的MVD(因为{regno}U{qualification}=R2)
=>R2在4NF。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短