第四范式描述了BCNF中的一个关系,但它也不包含任何非平凡的多值依赖关系。
我正在努力理解一个微不足道的多值依赖和一个非平凡的多值依赖是什么以及差异。如何识别后者才能执行4NF?
编辑:
我主要需要知道琐碎和非平凡依赖之间的区别是什么?
答案 0 :(得分:5)
维基百科上有一个相当不错的例子:Fourth normal form。你有什么具体的部分不明白吗?
您可能还想查看Multivalued dependency。
更新: 那么琐碎和非平凡的依赖关系有什么区别?
这取决于我们是在谈论功能性还是多值依赖性。
一个简单的函数依赖X -> Y
是 Y
是X
的子集。由于X -> Y
表示“Y可以从X确定”,因此X
和Y
Y
由X
的属性组成,这一点非常简单。 ;很明显,如果我们知道X
我们可以确定Y
是否只包含来自X
的内容!
一个简单的多值依赖项X ->-> Y
是 Y
包含不在X
中的每个属性的依赖项。请注意,它也可以包含X
中的属性。对于所有X
和Y
,这种多值依赖也是如此,因此是微不足道的。这是从多值依赖的定义得出的:
表示由(x,y,z)组成的元组
中X
,Y
,R − X − Y
的值 统称等于x,y,z, 相应地,然后每当 r中存在元组(a,b,c)和(a,d,e), 元组(a,b,e)和(a,d,c)应该 也存在于r。
在一个微不足道的多值依赖项中,集z = R - X - Y
为空,因此需求减少为(0
为空集:
r中存在元组(a,b,0)和(a,d,0), 元组(a,b,0)和(a,d,0)应该 也存在于r。
中
这显然是真的。
答案 1 :(得分:1)
X-> Y是微不足道的。 如果X中不包含Y,则X-> Y是非平凡的。