无损连接分解特性-BCNF分解只有一个无损分解

时间:2018-12-12 12:18:56

标签: sql database decomposition

在上课时,导师已经发表了以下声明:
There is only one(or none) lossless BCNF decomposition for a relation,
and two BCNF decompositions are lossless for a given R iff they are logically equal
我试图通过矛盾来证明,并假设存在两个BCNF分解,找到了矛盾,但找不到任何矛盾。
是否有一个直观的解释,为什么这是真的?

1 个答案:

答案 0 :(得分:3)

严格来讲,导师的陈述是错误的。

想象一下任何分解,其中模式分解后的一个是唯一的FD {K}-> {D1,D2}(K,D1,D2)。那是BCNF。

但是可以用唯一的FD {K}-> {D1}分解为(K,D1)和使用唯一的FD {K}-> {D2}分解为(K,D2)。也是BCNF(甚至是6NF)。

这意味着您有两种不同的可能分解,都是BCNF。

(自然地,在这样的课程中,人们认为没有必要进行进一步的分解,而它们却被忽略了,因为“无论如何也不会有人考虑它们”或类似的东西,但这并不是很科学)