遵守Boyce-Codd普通表格定义,
如果对于所有X - >,则具有FD的Reln R在BCNF中。 A + F + -A是X的子集(称为平凡FD),或 -X是R的超级密钥。 “R is in BCNF if the only non-trivial FDs over R are key constraints.”
If R in BCNF, then every field of every tuple records information that
cannot be inferred using FDs alone.
我不明白的是以上关于正常形式的两个陈述,
有人可以举个例子吗?
谢谢!
答案 0 :(得分:3)
我个人觉得很难提出超过3NF的样本,但也许这个演示文稿有助于有人提出更好的答案:
http://www.cs.sjsu.edu/~lee/cs157b/The_Normal_Forms2.ppt
它简单地从1NF到3NF,然后解释3NF和BCNF之间的差异。
编辑:由于原始链接出现故障,我发现: http://www.authorstream.com/Presentation/aSGuest134613-1415068-the-normal-forms2/答案 1 :(得分:0)
在我试图解释之前,一些先决条件:
• 非密钥属性 :不属于任何候选密钥的属性称为非密钥/ non-prime属性。
•超级键:表中的一组属性,其值可用于唯一标识元组。候选键是标识元组所必需的最小属性集;这也称为最小超键。
现在,BCNF是3NF的高级版本,比3NF更严格。
如果每个功能依赖项X→Y, X 是表的超级键,则表在BCNF中。
Consider a relation : R(A,B,C,D)
The dependencies are:
A->BCD
BC->AD
D->B
So, Candidate keys(or minimal super keys) are A and BC.
But in dependency: D->B, D is not a superkey.
Hence it violates BCNF form.
We can break this relation into R1 and R2 as:
R1(A,D,C) and R2(D,B) to get BCNF.