简体   繁体   English

BCNF和3NF属性

[英]BCNF and 3NF property

I read a statement that " If a relation is in 3NF and does not contain any overlapping candidate key then it is definitely in BCNF" 我读过一条声明:“如果一个关系在3NF中并且不包含任何重叠的候选键,那么它肯定在BCNF中”

Suppose we consider a relation R(A,B,C,D) with following functional dependencies:- 假设我们考虑具有以下功能依赖性的关系R(A,B,C,D):

AB --> CD AB-> CD

C --> A C-> A

Here only candidate key is AB and the resulting relation is in 3NF and not in BCNF because C is not a super key. 在这里,只有候选密钥是AB,并且由于C不是超级密钥,因此得到的关系是3NF,而不是BCNF。 So the above statement doesn't hold true. 因此,上述说法并不成立。

Where am I going wrong ? 我要去哪里错了?

Your relation has overlapping candidate keys. 您的关系的候选键重叠。 While it doesn't appear on the left-hand side of the given functional dependencies, we can derive the fact that BC is a candidate key. 虽然它没有出现在给定功能依赖项的左侧,但我们可以得出这样的事实,即BC是候选键。

Starting with C -> A, we can use Armstrong's Axiom of Augmentation to determine that CB -> AB, and since it's known that AB is a candidate key, that means all other attributes are determined. 从C-> A开始,我们可以使用Armstrong的增广公理来确定CB-> AB,并且由于已知AB是候选键,所以意味着所有其他属性都已确定。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM