BCNF项目FD关于结果关系

时间:2016-11-06 18:20:10

标签: database relation database-normalization bcnf

所以我有一个关系R(A,B,C,D,E),与FD

{A->C, CE->B, BC->AD, D-E}.

我想将它标准化为BCNF。

由于A-> C和D-> E违反BCNF。我从ABCDE中减去C和E. 这将是ABD。但是我如何将原始Relation的FD投影到新的ABD关系?有人告诉我,ABD上产生的FD将是

{AB->D, AD->B}

我不太明白。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

在分解的模式上投影一组依赖关系的算法是指数的,因为应该计算分解的模式的每个属性子集的闭包,并查看闭包的哪些属性属于分解的关系。但是,在简单的情况下,就像您的示例一样,很容易检查所有可能的子集(六个):

A+ = AC
B+ = B
D+ = DE
AB+ = ABCDE (D is present in ABD, so AB → D is in the projection)
AD+ = ABCDE (B is present in ABD, so AD → B is in the projection)
BD+ = BDE