Gday小伙子们
好的,我有一个数据库类,我有这个例子,它让我觉得我真的没有完全理解这两个NFs之间的区别。
我知道
对于R满足的每个非平凡FD (X->A),R至少满足下列条件之一的关系R在3NF当且仅当: (a) X是R的超键,或 (b) A是R的一个关键属性
和
一个关系R是BCNF当且仅当R满足的每一个非平凡FD (X->A)满足以下条件: (a) X是R的超级密钥
下面是一个例子:
R= (A,B,C,D) F= {AB->C,AB->D,C->A,D->B} 1。R在3NF中,为什么?如果不是,就把它分解成3NF。 索尔:是的。查找所有候选密钥: AB、BC、CD、AD检查F中的所有FDs是否为3NF条件
嗯,C->A不是导致违规吗?C不是超级键,它也不平凡,D->B也是如此?
但这不是BCNF:
发布于 2013-12-14 21:03:44
嗯,C->A不是导致违规吗?C不是超级键,它也不平凡.
至于3NF的第二个条件呢?A是R中某个键中的一个属性吗?
(提示:这种练习的目的在一定程度上也是为了说明为什么3NF不是一种非常有用的正常形式,以及3NF和BCNF之间的区别很重要的情况)
https://stackoverflow.com/questions/20580019
复制相似问题