我阅读了以下示例,该关系 A(X,Y,Z,P,Q,R) 具有以下功能依赖性。
为什么这是1NF?
任何人都可以帮助我吗?
我阅读了以下示例,该关系 A(X,Y,Z,P,Q,R) 具有以下功能依赖性。
为什么这是1NF?
任何人都可以帮助我吗?
该图不是标准符号。我想箭头指向 FD 的确定属性。我想不是来自盒子的箭头意味着只有一个行列式属性的 FD,而来自盒子的箭头意味着带有盒装属性作为行列式属性的 FD。找出图表符号的含义。
如果是,那么函数依赖是 Y → Z、XYZ → QR 和 P → QRX。
为了显示关系的范式,我们需要知道你对范式的定义。碰巧这种关系不是第二范式。所以它不是任何更高的范式。所以它只是第一范式。所以我们需要知道的唯一范式定义是你为 2NF 给出的那个。该定义通常涉及候选键。如果是这样,那么我们需要知道您对候选键的定义是什么。2NF 的定义可以涉及全部和部分 FD。如果您这样做了,那么我们需要知道您给出的完整和/或部分 FD 的定义是什么。给出定义。
唯一的 CK 是 PY,因为它决定了所有其他属性,但没有它的真子集。它是唯一的 CK,因为没有其他这样的属性集。为了证明这一点,我们需要参考您为导出 FD 和 CK 提供的规则。(例如,这包括我们如何从一个 FD 列表转到另一个。)给出规则。
但是还有行列式 Y(来自 Y → Z)和 P(来自 P → QRX)是该候选键的真子集。因此,每个非素数属性 Z、Q、R 和 X 都部分依赖于 CK。但是要在 2NF 中,必须没有部分依赖于候选键的非主属性。即,每个非主属性必须在功能上完全依赖于所有 CK。所以 A 不在 2NF 中。所以它的最高范式是1NF。
在我看来,这张图片的含义并不十分清楚,因为它似乎混合了两种不同的函数依赖 (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 因此候选键(最小超键)只能是皮耶。P->XQR 和 Y->Z 都是具有行列式的 FD,它们是候选键 (PY) 的真子集,这意味着这些依赖关系都违反了 2NF。回顾:2NF 禁止任何左侧是候选键的真子集的 FD。所以 1NF 是 A 的最高范式。
根据 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 标准,该标准不允许一列的行中有多个值。