所以我有一个关系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}
我不太明白。
任何帮助将不胜感激!
答案 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