【发布时间】:2017-05-25 15:04:11
【问题描述】:
鉴于以下函数依赖关系,这对我来说有点令人困惑,因为第三范式表示 R 的非主属性没有传递依赖于主键。所以我删除了功能依赖 C --> DE 来自表并将其置于新关系中,但所有这些属性也可以由关系的主键确定。我认为我无法从该表中删除 D 和 E 或者我应该删除,因为进一步的 BCNF 也无助于删除这些属性。问题是我什么时候先删除我还应该从第一个表中删除 D 和 E 吗?enter image description here
【问题讨论】:
-
是的,您应该删除这些属性。考虑从关系 ABC 中,给定 AB 的某个值,您有 C 的(唯一)值。使用该值,在第二个关系中,您可以找到由 AB 确定的 D 和 E 的值。
-
请尽可能使用文字而非图片。部分图片无法搜索或剪切粘贴。
-
转到参考,了解“传递 FD”的定义和分解为 3NF/BCNF 的算法。那么如果“所有这些属性也可以由关系的主键决定”呢? PK总是决定所有属性。 “关系”和“这种关系”是指原始关系还是“新关系”?此外,PK 不重要,CK 重要。这与传递 FD 和 BCNF 有什么关系?如果你想要 3NF,为什么要 BCNF?请编辑您的问题以明确。说明您所谈论的所有这些事情,并确保始终清楚您所指的内容。
-
"R 的非主属性不传递依赖于主键" R 的非主属性传递依赖于任何候选键 i>.
标签: relational-database database-normalization functional-dependencies