第四范式描述了一种在 BCNF 中但也不包含非平凡多值依赖关系的关系。
我正在努力理解什么是微不足道的多值依赖和非微不足道的多值依赖以及它们之间的区别。我如何识别后者以执行 4NF?
编辑:
我主要需要知道琐碎依赖和非琐碎依赖之间的区别是什么?
第四范式描述了一种在 BCNF 中但也不包含非平凡多值依赖关系的关系。
我正在努力理解什么是微不足道的多值依赖和非微不足道的多值依赖以及它们之间的区别。我如何识别后者以执行 4NF?
编辑:
我主要需要知道琐碎依赖和非琐碎依赖之间的区别是什么?
维基百科上有一个很好的例子:第四范式。有什么具体的部分你不明白吗?
您可能还想查看Multivalued dependency。
更新: 那么微不足道和非微不足道的依赖关系有什么区别?
这取决于我们谈论的是函数依赖还是多值依赖。
微不足道的函数依赖X -> Y
是Y
的子集X
。由于X -> Y
意味着“可以从 X 确定 Y”,因此对于任何由;的属性组成的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, 相应地, 当元组 (a,b,c) 和 (a,d,e) 存在于 r 中时,元组 (a,b,e) 和 (a,d,c) 也应该存在于 r 中。
在一个平凡的多值依赖中,集合z = R - X - Y
是空的,所以要求减少到(0
是空集):
元组 (a,b,0) 和 (a,d,0) 存在于 r 中,元组 (a,b,0) 和 (a,d,0) 也应该存在于 r 中。
这显然是真的。
X->Y is Trival if and only if the right hand side is a subset of the left hand side. X->Y is Non Trival if Y is not contained in X.