具有功能依赖性的1NF范式

时间:2014-10-03 17:01:57

标签: database normalization database-normalization denormalization bcnf

我读了下面的例子,关系A(X,Y,Z,P,Q,R)具有以下功能依赖性。

为什么这是1NF?

enter image description here

谁能帮帮我?

3 个答案:

答案 0 :(得分:2)

该图表不是正常的表示法。我认为箭头指向FD的确定属性。我认为不是来自盒子的箭头意味着只有一个行列式属性的FD,而来自盒子的箭头意味着带有盒装属性作为决定性属性的FD。 找出图表符号的含义。

如果是,那么功能依赖性是Y→Z,XYZ→QR和P→QRX。

为了显示关系的正常形式,我们需要知道您为正常形式给出了什么定义。碰巧这种关系不是第二种正常形式。所以它不是任何更高的正常形式。所以它只是第一种正常形式。因此,我们需要知道的唯一正常形式定义是您为2NF提供的定义。该定义通常涉及候选键。如果是这样,那么我们需要知道你为候选键给出了什么定义。 2NF的定义可涉及全部和部分FD。如果你的话,那么我们需要知道你给出的完整和/或部分FD的定义。 给出定义。

唯一的CK是PY,因为它确定了所有其他属性但没有适当的子集。它是唯一的CK,因为没有其他这样的属性。为了证明这一点,我们需要参考你为推导FD和CK而给出的规则。 (例如,这包括我们如何从一个FD列表转到另一个FD列表。)给出规则。

但是,然后还有决定因素Y(来自Y→Z)和P(来自P→QRX),它们是该候选键的适当子集。因此,非素数属性Z,Q,R和X中的每一个都部分地依赖于CK。但是要在2NF中,必须没有部分依赖于候选键的非主要属性。即每个非素数属性必须在功能上完全依赖于所有CK。所以A不在2NF。所以最高的正常形式是1NF。

答案 1 :(得分:1)

在我看来,图片并没有明确表达其含义,因为它似乎混合了功能依赖(FD)的两种不同符号。任何答案都取决于您想要如何解释图表。

我猜测图表应该指示下面的一组FD:XY-> Z,Y-> QR,P-> QRX。如果那是正确的,则关于该组FD的可能候选密钥将是{Y,P}。如果我对图表的解释是正确的,那么Y和P本身就是决定因素。由于Y和P是A的候选键的适当子集,我们可以得出A违反2NF的结论,因此A能够满足的最高范式是1NF。


更新:您的新图片指定了一些依赖项。一起收集决定性术语,我们可以总结为:

P->XQR
XY->QR
Y->Z

我认为这些应该是A实际满足的依赖关系。在左侧我们有P,X和Y所以PXY将是A的超级密钥.P-> X因此候选密钥(最小超级密钥) )只能是PY。 P-> XQR和Y-> Z都是具有决定因素的FD,其是候选密钥(PY)的适当子集,并且这意味着那些依赖性都违反2NF。回顾:2NF禁止任何FD,其中左侧是候选键的适当子集。所以1NF是A的最高正常形式。

答案 2 :(得分:0)

根据1NF,关系中没有两行必须具有重复值,并且一列中的列不得包含多个值。这会增加冗余,因为在多行中会有重复相同数据的列。

Name    ID       Course

A       1       Computer
B       2        Arts
C       3       Computer

此处课程列包含重复值。但是每一行都没有包含2个值的列。因此它在1NF。

1NF的限制数量最少。所以任何其他形式如2NF,3NF默认也是1NF。

考虑这个类比

1NF = Living Beings
2NF = Mammals
3NF = Humans

所有哺乳动物/ 2NF默认为生物/ 1NF,依此类推。

为了满足功能依赖X → Y,每个X值必须只与一个Y值相关联。因此,它满足1NF标准,该标准不允许列中的多个值。