我在(A,B,C,D)上有关系 R 和函数依赖
候选键是CDA和CDB。
第三范式表示非素数属性之间不能存在函数依赖。非素数属性是未出现在候选键之一中的属性。
这是否意味着这种关系属于 3NF,因为相互依赖的 A 和 B 都是候选键之一的一部分?
如果是这样,由于 BCNF 规定每个行列式都必须是候选键,那么在这种情况下 A 和 B 不是候选键是否违反了 BCNF?
如果您给出的三个 FD 应该是 R 满足的 FD 的规范覆盖,那么您得出的结论是 CDA 和 CDB 必定是候选键,这是正确的。 (您没有声明 FD 是规范的,如果不是,那么还有其他方法可以满足相同的依赖关系,但我猜问题的意图是候选键必须仅从您给出的内容中推断出来。)
如果 CDA 和 CDB 实际上是 R 的候选键,那么你是对的,R 满足 3NF 但不满足 BCNF。