2017-09-17 69 views
0

我宣读了一份声明说:“如果一个关系是3NF,并且不包含任何重叠的候选键那绝对是属于BCNF”BCNF和3NF财产

假设我们考虑的一个关系R(A,B,C ,d)具有以下功能依赖关系: -

AB - > CD

ç - >甲

这里只候选键是AB,所得关系是3NF而不是在BCNF因为C不是一个超级关键。 所以上述说法并不适用。

我要去哪里错了?

+3

AB不是唯一的候选关键字,BC也是一个 – reaanb

+0

是的,我的不好:(你可以给这个声明的一个证据,如果可能的话?有些它对我来说看起来并不直观 – Zephyr

+1

我们不因为直觉原因,我们应用定义和算法 – philipxy

回答

2

你的关系有重叠的候选键。虽然它不出现在给定函数依赖关系的左侧,但我们可以推导出BC是候选关键字的事实。

从C - > A开始,我们可以使用阿姆斯壮的扩充公理来确定CB - > AB,并且由于已知AB是候选密钥,这意味着所有其他属性都被确定。

+0

我还有一个疑问,一个非prime属性可以获得一个素数属性吗?像non-prime-> prime属性,如果不是,那么为什么? – Zephyr

+1

我认为不是,因为对于任何具有n个属性A1..An和函数依赖关系B→Ax的候选关键字,B可以代替Ax来产生另一个候选关键字,同样产生B素数 – reaanb

+1

注意,如果B在候选关键字A1中确定了多个属性然后,所有确定的素数属性将不得不被替换为单个B,以使结果成为候选密钥。 – reaanb