我在理论上的 BCNF 规范化任务上遇到了一些麻烦。
R(A, B, C, D, E, F)
与功能依赖有关系:
FD -> A
A -> E
E -> D
FB -> D
B -> A
我的论点:
因此,让我们从寻找潜在的密钥开始,密钥必须包含BCF
,因为它们是不可获取的。而且它只是key,因为我们可以从这个key中获取所有的属性。
现在我们可以移除多余的函数依赖FB -> D
,因为我们有B -> A -> E -> D
,对吧?
这意味着这甚至不是 2 NF,因为B -> A
. 这是第一个问题。我将不得不提取A
到单独的表,但是A -> E
和FD -> A
. 这是否意味着我们必须同时进行?因此,在转换为 2NF 的第一步之后,我们有关系:{ BCF DE, B A, FD A, A E}?
如果我是对的,现在是 2 NF,但不是 3 NF,因为 FD E -> D
(E 不属于密钥),所以让我们将其提取到单独的关系:{BCEF, E D, B A, FD A,一个E}
现在是 3 NF 并且......它也是 BCNF 吗?我没有看到任何违反它的FD。或者我的整个推理是错误的?
提前致谢!