功能依赖 - BCNF 规范化问题
Posted
技术标签:
【中文标题】功能依赖 - BCNF 规范化问题【英文标题】:Functional dependencies - BCNF normalization issue 【发布时间】:2015-04-08 15:06:41 【问题描述】:我需要有关规范化问题的帮助。 考虑一个关系 R(ABC) 具有以下功能依赖项:
AB --> C
AC --> B
如何将其修改为 Boyce–Codd 范式?
如果我这样保留它,则它与关键属性的关系过渡依赖于关键候选。 我尝试分裂成几个关系,但那样我会丢失信息。
【问题讨论】:
【参考方案1】:关系模式 R 是 Boyce-Codd 范式当且仅当 它的每一个依赖X→Y,至少以下之一 条件成立:
X → Y 是一个平凡的函数依赖 (Y ⊆ X) X 是模式 R 的超级键
From Wikipedia
R 有两个候选键,AB 和 AC。很明显,上面的第二条规则在这里适用。所以 R 在 BCNF 中。
如果我这样离开,这是与关键属性的关系 过渡依赖于关键候选人。我试着分裂成 有几个关系,但那样我会丢失信息。
我不太清楚你在这里得到什么,但我认为英语中的术语包括
主属性(属于任何候选键的属性) 传递依赖(但指的是非主属性) 候选键(不是key-candidate)【讨论】:
【参考方案2】:这种关系在BCNF
中AC 和 AB 是超级键,属性 B 和 C 依赖于超级键,所以它们在 BCNF 中
和
在这个关系中没有传递依赖
希望,这有帮助
【讨论】:
以上是关于功能依赖 - BCNF 规范化问题的主要内容,如果未能解决你的问题,请参考以下文章