2
GDAY小伙子,3NF VS BCNF:例
好了,所以我有一个数据库类和我有这样的例子,让我觉得,我真的没有完全理解这两个会员协会之间的区别..
我知道
甲关系,R,是当且仅当3NF每非平凡FD(X-> A)由R满足下列条件中的至少一个为真:
( a)X是R的超级键,或
(b)中A是对于R a键属性
和
甲关系,R,是当且仅当BCNF每非平凡FD(X-> A)满足 由R下列条件为真:
(a)中X是对于R
这里,超密钥的实施例:
R =(A,B,C,d)F = {AB-> C,AB-> d,C-> A,D-> B} 1为R在3NF,为什么呢? 如果不是,分解成3NF
Sol: Yes. Find all the Candidate Keys: AB, BC, CD, AD Check all FDs in F for 3NF condition
良好,未C->的原因的违规行为? C不是一个超级密钥,它不是微不足道的,对于D-> B也是如此。
但它不是一个BCNF:
- 在BCNF是R,为什么呢?如果不是,则将其分解成BCNF 否。因为对于C-> A,C不是超级密钥。对于D->乙R1 = {C, d},R2 = {A,C},R3 = {B,d}
的可能重复[什么是3NF和BCNF之间的区别?](http://stackoverflow.com/questions/19749913/what-is-the-difference-between-3nf-and-bcnf) –
@MostyMostacho嗯,我已经读过这个和其他3个线程,但仍然.. – geekybedouin
@MostyMostacho我不能在那里发表评论,我需要问你在早些时候的答案.. – geekybedouin