转换为BCNF

问题描述 投票:4回答:1

我给了以下关系:

R(A,B,C,D,E)

和以下功能依赖项:

F1 - AC -> D
F2 - D -> E
F3 - E -> A

我试图将其转换为BCNF表格。

我采取的第一步是找出关系的可能关键。

Keys: ABC, BCD, BCE

然后我检查了功能依赖是否适合BCNF表单,但他们没有。所以我试图分解并得到以下内容:

R1(A,C,D) AC->D Keys: AC
R2(D, E) D->E Keys: D

我相信在这一点上,关系是BCNF形式并且是无损的,但不是依赖保留。

对于这种事情,这似乎是正确的技术吗?我可能错过了一两步吗?

database relational-database database-normalization
1个回答
1
投票

我相信你的BCNF有一个错误。在R1和R2之间,你已经失去了B.

键,ABC,BCD和BCE都是正确的。 (您需要B,C以及A,D或E中的一个)。

带键D的R1(A,B,C,D),键ABC和R2(D,E)是有效的归一化。

© www.soinside.com 2019 - 2024. All rights reserved.