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