【问题标题】:Functional dependencies - BCNF normalization issue功能依赖 - BCNF 规范化问题
【发布时间】:2015-04-08 15:06:41
【问题描述】:

我需要有关规范化问题的帮助。
考虑一个关系 R(ABC) 具有以下功能依赖项

AB --> C
AC --> B

如何将其修改为 Boyce–Codd 范式

如果我这样保留它,则它与关键属性的关系过渡依赖于关键候选。 我尝试分裂成几个关系,但那样我会丢失信息。

【问题讨论】:

    标签: database-normalization functional-dependencies bcnf


    【解决方案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 中

      在这个关系中没有传递依赖

      希望,这有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-28
        • 1970-01-01
        • 1970-01-01
        • 2016-03-06
        相关资源
        最近更新 更多