BCNF规范化和多个候选键
BCNF Normalization and multiple candidate keys
在BCNF Normalization中,候选键是否可以确定非主键或其他候选键?
如果是,同一个table中是否可以存在多个候选键?还是只有一个?
考虑 table R(A,B) 满足 FD(函数依赖){A} -> {B} 和 {B} -> {A}。
CK(候选键)是{A}和{B}。 PK(主键)与规范化(以及所有其他关系理论)无关。
因为所有持有的非平凡 FD(根据给定的 FD 和阿姆斯特朗的公理)都没有超级密钥,所以这在 BCNF 中。 (什么是FD?这里持有的所有FD是什么?什么是CK?这里所有的CK是什么?什么是superkey?这里所有的superkeys是什么?BCNF的定义是什么?为什么这个schema在 BCNF 中?)
can the candidate key determine non-prime key or other candidate key?
是的,因为这里每个CK决定另一个CK。
can be exist more than one candidate key in same table?
是的,因为这里有两个CK。
为了证明某件事是可能的,总是至少尝试一些简单的案例;你可能会走运。否则(或证明某件事是不可能的)您需要推理相关定义、公理和定理如何得出您的结论。
在BCNF Normalization中,候选键是否可以确定非主键或其他候选键?
如果是,同一个table中是否可以存在多个候选键?还是只有一个?
考虑 table R(A,B) 满足 FD(函数依赖){A} -> {B} 和 {B} -> {A}。
CK(候选键)是{A}和{B}。 PK(主键)与规范化(以及所有其他关系理论)无关。
因为所有持有的非平凡 FD(根据给定的 FD 和阿姆斯特朗的公理)都没有超级密钥,所以这在 BCNF 中。 (什么是FD?这里持有的所有FD是什么?什么是CK?这里所有的CK是什么?什么是superkey?这里所有的superkeys是什么?BCNF的定义是什么?为什么这个schema在 BCNF 中?)
can the candidate key determine non-prime key or other candidate key?
是的,因为这里每个CK决定另一个CK。
can be exist more than one candidate key in same table?
是的,因为这里有两个CK。
为了证明某件事是可能的,总是至少尝试一些简单的案例;你可能会走运。否则(或证明某件事是不可能的)您需要推理相关定义、公理和定理如何得出您的结论。