如果我有以下关系R =(A,B,C,D)
功能依赖:
候选键是 CDA 和 CDB 。
第三种常规形式表示非主要属性之间不存在功能依赖性。非素数属性是在其中一个候选键中不会出现的属性。那意味着这个关系已经是3NF,因为A和B之间相互依赖,是其中一个候选键的一部分,我是对的吗?
如果是这样,我还有另一个关于BCNF的问题。 BCNF表示每个决定因素必须是候选键。在这种情况下,A和B不是候选键,因此违反了BCNF,或者我在这里遗漏了什么?
感谢。
答案 0 :(得分:4)
如果您提供的三个FD应该是R满足的FD的规范封面,那么您可以断定CDA和CDB必须是候选键。 (您没有声明FD是规范的,如果没有,那么还有其他方法来满足相同的依赖关系,但我想问题的意图是候选键必须仅根据您给出的内容推断。)
如果CDA和CDB实际上是R的候选键,那么你是对的,R满足3NF但不满足BCNF。