2017-12-03 129 views
-1

R(A B C)转换关系到BCNF

AB - > C, Ç - >甲

AB是最小超键这是一个候选键。 AB - > C很好。 但由于素数属性取决于Non Prime属性,因此C - > A不成立。 我知道如何分解,直到3 NF。我也知道为什么关系不在BCNF中。 但我不知道如何将这种关系分解为BCNF。

任何人都可以把这个关系分解成BCNF。

+0

嗨。请编辑您的问题,以提供您正在使用的参考文献,以及它给出的BCNF *的定义和它分解给BCNF *的算法。注意那些需要知道*所有* CK。因此,显示所有的CK是什么。然后按照算法,直到你卡住,然后问一个问题。你只是要求我们重写你的教科书。 PK是无关紧要的。你为什么提到他们? “保持良好”也意味着什么。使用你所教的技术术语。 PS定义和分解的例子不是演示的算法;算法的演示。 – philipxy

回答

0

这种关系可以BCNF使用实例的分析算法,产生以下分解分解:

R1(A, C) (with non trivial dependency C → A and candidate key C) 
R2(B, C) (without non trivial dependencies and so with candidate key (B, C)) 

但这种分解不保留相关性:事实上,依赖A B → C丢失。因此,通过这种分解,由于这种依赖性的约束不能简单地在分解的关系上执行。并且不能产生BCNF中的其他分解,从而维持依赖关系。我们还可以注意到这种关系已经在3NF中。

+0

“不好”是一个意见问题。 3NF设计受到更新异常的影响,并且与BCNF需要执行EQD相比,具有更复杂的谓词/含义。 – philipxy

+0

谢谢,@philipxy,我删除了“不好”的形容词。 – Renzo