4NF和多值依赖关系

时间:2014-12-11 20:10:13

标签: normalization database-normalization bcnf

我接受了这个练习,并希望得到一些人的回答:

  

给定关系模式R =(A,B,C,D)和依赖性集合F =(A - > BCD)。我们可以声称R是4NF吗?

我最初的想法是我们不能在4NF声称它,因为4NF更关注多值依赖。

然而,我的教授的回应是我们实际上可以在4NF声称它,因为你没有给出任何多值依赖,因此它在4NF。

有人能指出任何支持他的主张或地雷的文献(书籍,​​论文等)吗?我一直在寻找,但找不到任何实质性的东西。

1 个答案:

答案 0 :(得分:1)

The Alice book 1994年数据库基础。
迈尔的经典The Theory of Relational Databases 1983年 Fundamentals of Database Systems 6th Edition Elmasri,Shamkant B. Navathe Simon Fraser University CS 4NF幻灯片。

<强> BUT

  

给定关系模式R =(A,B,C,D)和依赖关系集   F =(A - > BCD)。

这是两件事。他们彼此有关系吗?你&amp;你的教授必须直截了当。定义不会为你决定。如果这是一个关于考试或作业的问题,那么它很草率。

请注意“R在XNF中”是否使用得很厉害。有时我们的意思是R满足XNF(以及所有较低的XNF)。有时我们的意思是XNF是R满足的最高NF。

MVD对应于二进制JD。 FD对应于多个确定具有一个元素的集合的MVD。其存在违反BCNF的MVD / JD是与FD不对应的那些。

鉴于R和F,人们通常不能说出最高的NF R满足。我们可能也给了R和数字5.(虽然R可能有0或1列,所以在5NF。)

鉴于R和F加上F是一组保留在R中的FD,人们通常不能说出NF R满足的最高值。其他没有暗示的FD或MVD / JD也可以保留在R中。 (虽然对于列和FD的特定组合,包括有足够的FD来说明所有可能的MVD / JD,我们可能知道R满足的最高NF。)

鉴于F是R中持有的FD的最小覆盖,或者R中持有的唯一FD是F所暗示的那些(即,在任何一种情况下,R中持有的FD是F的传递闭包中的FD),通常不能说出NF R满足的最高值。其他未隐含的MVD / JD也可以保留在R中。然而,我们可以从FD中看出,无论其他MVD / JD如何,R都满足一些最小的最高NF。 (这将介于1NF和BCNF之间。)这将是BCNF。如果我们也知道除了F暗示的MVD / JD之外没有MVD / JD,我们可以确定最高NF R满足的含义。 (这会将BCNF从之前的案例提升到5NF。)这将是5NF。

鉴于F是R中唯一的非平凡FD,任何东西都是可证明的,因为如果F成立则那么{A-> B},{A-> C},{A-> D },{A-> BC},{A-> BD}和{A-> CD},这是一个矛盾。

那么:给出了什么?

<强> PS

如果没有拥有定义那么你就没有理由声称“4NF更关注多值依赖”。无论如何“4NF更关注多值依赖”并不能证明任何东西。它几乎意味着任何东西。