BCNF分解?(BCNF Decomposition?)

2019-10-23 07:01发布

给定的关系R(A,B,C,d,E)FDS = {A-> BC,CD-> E,B-> d,E-> A}
而[R转换成BCNF:

ABCDE - > BD&ABCE将是第一分解
BD是BCNF

关于ABCE:

看来1:ABCE具有的FD:A-> BCE,E-> ABC,BC-> AE
因此,其已经在BCNF

看来2 ABCE具有的FD:A-> BC,E-> ABC
因此需要被分解成ABC&AE

我相信,因为在第二,我们假定A-> E和BC->电子是不可能的,因为d是不是该关系的属性之一,第一个应该是正确的。 但我不知道这件事。
请告诉是否ABCE A-> EBC->电子将持有与否?

Answer 1:

你已经正确识别周围的问题围绕这个问题。 也就是说,“BC-> AE”是否真的适用于ABCE与否。 它适用于ABCE,它需要证明,它适用于原始,ABCDE。 你能证明呢? (提示:开始与B-> d从原始和与琐碎​​C->Ç增大,以获得BC-> CD)。

现在重要的讨论如下。 请完全坐出来。

现在退一步,看看发生了什么事在第一分解的架构/设计。 首先分解单挑BD到它自己的表/模式。 这让现有的FD“CD-> E”中的任何剩余的表/模式的难以形容(ABCE中,因为一个没有d,在BD因为一个没有ACE)。 但是,这是由该FD表示业务规则仍然适用。 这意味着,在更换设计(具有BD单挑),没有要在两个表中定义一个额外的约束,而这种约束必须对两个表的组合相同的效果(它们的连接,这是)作为FD对原来的单表的设计。 也就是说,约束必须执行,在任何连接两个表的,它永远不会是相同的CD值组合出现了一道独特的(> 1)电子值的情况。

没有附加约束的替代设计,永远不会完全等同于原来的设计与FD包括在内。 但由于这两种设计确实应该是等价的,你应该允许假设这个额外的限制确实到位(以及相应的FD仍“适用于JOIN”)。 请注意,我个人从来没有见过或听说过被明确说明。 规范化理论的治疗往往忽略了附加的约束,即使它们等同于给予早些时候在FD。

如果你不能做这样的假设,你不得不只看什么剩余的FD意味着他们适用于单个表,那么就没有办法让你证明BC-> AE持有的ABCE表/架构。 你将不得不得出结论,选择2是正确的答案。

(重要的结论在这里。)唉,也有很多的教学差的身边,这是隔靴搔痒肯定的是,所有的规范化理论课程采取同样的立场等问题。 所以,虽然我的信念/意见是,你是对的,可惜我的答案一定是“这取决于你的老师怎么深知规范化理论他/她”。



文章来源: BCNF Decomposition?