第四范式

时间:2011-05-26 09:08:14

标签: normalization database-normalization

第四范式描述了BCNF中的一个关系,但它也不包含任何非平凡的多值依赖关系。

我正在努力理解一个微不足道的多值依赖和一个非平凡的多值依赖是什么以及差异。如何识别后者才能执行4NF?

编辑:

我主要需要知道琐碎和非平凡依赖之间的区别是什么?

2 个答案:

答案 0 :(得分:5)

维基百科上有一个相当不错的例子:Fourth normal form。你有什么具体的部分不明白吗?

您可能还想查看Multivalued dependency

更新: 那么琐碎和非平凡的依赖关系有什么区别?

这取决于我们是在谈论功能性还是多值依赖性。

一个简单的函数依赖X -> Y YX 的子集。由于X -> Y表示“Y可以从X确定”,因此XY YX的属性组成,这一点非常简单。 ;很明显,如果我们知道X我们可以确定Y是否只包含来自X的内容!

一个简单的多值依赖项X ->-> Y Y包含不在X 中的每个属性的依赖项。请注意,它也可以包含X中的属性。对于所有XY,这种多值依赖也是如此,因此是微不足道的。这是从多值依赖的定义得出的:

  

表示由(x,y,z)组成的元组   XYR − 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是非平凡的。