4

我给出以下关系:转换成BCNF

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形式都是无损的,但不属于依赖保留。

这个问题似乎像这样的事情正确的技术?我可能错过了一两步吗?

回答

1

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

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

R1(A,B,C,d),键ABC和R2(d,E)与主要d是有效的归一化。