具有主键和唯一属性的功能依赖

问题描述 投票:-1回答:2

所以想象我有这样的关系:

r(A,B,C,D,E)

其中A是主键,C是唯一的。我对功能依赖关系的工作方式有疑问,我知道由于A是其他属性依赖的主键,但我不知道该如何处理唯一属性。它的工作方式与主键相同吗? C是否依赖于A(A-> C)?

我也看到了另一种情况,其中我有一个与上面类似的关系,但是有一个唯一的签名,上面有两个属性,就像这样:

唯一(C,D)

而且我也不知道具有两个属性的唯一性的含义,而不是每个属性的唯一性声明及其对功能依赖关系的影响。

感谢您的时间和事先的答复。

database-normalization functional-dependencies
2个回答
0
投票

在设计阶段,列A和C将被标识为候选键。 (请注意,可以有两个以上。)然后将一个选择为主键,而另一个则定义为唯一约束。

很多繁琐的细节可能会出现NULL(PK不能为空),作为外键的性能/适用性(影响容量规划的因素,以及对可能的业务规则的影响。


0
投票

[有很多键-Reference

enter image description here


在您的情况下,您有A作为主键,因此B,C,D,E与A相关。

这里是chapter about SK (super-keys)


0
投票

如果C是唯一的,则可以使用它来识别每条记录,即,可以像使用主键一样使用它-除非要有效地做到这一点,否则必须在C上有一个索引。无论如何,是的,任何字段都是唯一字段的功能。

您的C是否依赖于A的问题必须用是的答案,但这是因为任何字段都依赖于A,因为A是主键。

“具有两个属性的唯一性”(字段)表示保证每个记录都具有两个字段的唯一组合,但并非每个记录都具有两个字段之一的唯一值。一个记录可能具有值(1, 2),另一个值(1, 3)。对是唯一的,值不是。在这种情况下,记录的每个字段都是该对的函数,但不是构成该对的一个字段的函数(除非这也是唯一的,但您将要处理冗余信息)。

© www.soinside.com 2019 - 2024. All rights reserved.