1

考虑具有以下函数依赖关系的关系 R(A, B, C, D, E):A->BC, D->CE, C->E

AD+ = ABCDE

主要属性:AD 非主要属性:BCE

分解为 3NF 但不分解为 BCNF

R1(A, B, C, D) R2(C,E)

4

2 回答 2

0

自从我这样做以来,我已经很长时间了。但是,如果我记得在 3NF 中正确的话,如果一列传递依赖于另一列,则不允许列在表中。

在这种情况下,唯一的传递依赖是 A -> C -> E,这意味着需要从 R 中提取 E。

这是你对我的理解所做的。有些东西告诉我你可能需要从 R1 中提取 C,但这可能只是 BCNF 中的必需品。

于 2016-01-08T14:31:25.847 回答
0

在您的情况下,第三种范式如下:

R 1 (ABC)

R 2 (CE)

R 3 (CD)

R 4 (广告)

请注意,这是以保留依赖关系的第三范式分解关系的唯一方法,并且所有生成的依赖关系都使得所有分解的模式也在 BCNF 中。

最后,可以注意到,相同的关系可以通过失去一些函数依赖性以不同的方式在 BCNF 中分解。

于 2016-01-24T21:21:31.903 回答