Boyce-Codd 范式中的关系能否在素数属性之间具有函数依赖关系?
由于从 1NF、2NF、3NF 到 Boyce-Codd 形式的标准化似乎主要是非素数属性的问题, 为什么表 R(A,B,C)
与 {AB->C, A->B}
和 AB
是一个化合物主键 博伊斯-科德形式?
Since normalization from 1NF, 2NF, 3NF up to Boyce-Codd form seems mostly a matter of non-prime attributes,
why is table R(A,B,C)
with {AB->C, A->B}
and AB
a compound primary key
in Boyce-Codd form?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果 A->B 则 {AB} 不可能是主键,因为它不是最小的。因此假设A是唯一的键,则R对于依赖关系AB->C、A->B至少处于BCNF中。
If A->B then {AB} can't possibly be a primary key because it isn't minimal. Assuming therefore that A is the only key then R is in at least BCNF with respect to the dependencies AB->C, A->B.
如果A确定B(A→B),则说AB确定C(AB→C)意味着A确定C(A→C)。
说A -> B 表示不存在 B 列具有不同值但 A 列具有相同值的两条记录。
说AB -> C 表示不存在 C 列具有不同值但 A 列和 B 列具有相同值的两条记录。虽然,因为A-> B,我们已经知道,如果 A 列具有相同的值,则 B 列也具有相同的值。因此,我们可以说,看到 A -> 。 B然后AB-> C意味着A->因此
,R中的FD是:
对于 BCNF 中的关系,必须满足以下条件:
正如您已经在 3NF 中存在关系,正如您所说,我们满足第一个条件。
由于在所有 R 的 FD 中,行列式都是超级键(A 是超级键),因此我们满足第二个条件。
因此,R 在 BCNF 中。
If A determines B (A -> B) then saying that AB determines C (AB -> C) implies that A determines C (A -> C).
Saying A -> B means that there are no two records where the B columns have different values but the A columns have the same value.
Saying AB -> C means that there are no two records where the C columns have different values but both the A and B columns have the same value. Although, because A -> B, we already know that if the A columns have the same value then the B columns also have the same value. Thus, we can say that, seeing that A -> B then AB -> C implies A -> C.
Thus, the FDs in R are:
For a relation to be in BCNF the following must hold:
As you already have a relation in 3NF, as you stated, we satisfy the 1st condition.
As in all of R's FDs the determinant is a super key (A is a super key), we satisfy the 2nd condition.
Thus, R is in BCNF.