【问题标题】:Decomposing a relation into 3NF, how do separate the relation?将关系分解为 3NF,如何分离关系?
【发布时间】:2013-07-01 04:53:47
【问题描述】:

给定一个关系,R = ABCDE

还有这套FD:

AB > C
DE > C
B  > D

我能够找到候选键 ABE(正确吗?)

我需要把这个关系 R 分解成 3NF。

我不明白的是,你用什么来分解?我认为您考虑了候选键和FD,但具体过程是什么?我看过的所有内容都太密集了,无法应用于这个小问题。

【问题讨论】:

    标签: database relation 3nf


    【解决方案1】:

    ABE 是唯一的候选键。

    从 1NF 的测试开始,并证明现有的关系 R 满足 1NF。当你找到一个 R 不满足 的范式时,修复它。

    例如,在测试 2NF 时,您会看到 FD AB->C 是部分密钥依赖关系。 (ABE 是唯一的候选键;C 仅依赖于该键的 部分。)使用投影从 R 中移除 C。

    • R { ABE CD} 是我们开始使用的。通过投影去除 C 后,我们有
    • R1 { ABE D} 和
    • R2 { AB C}

    重复直到你所有的桌子都在 5NF 中。 (R1 不在 2NF 中;R2 在 5NF 中。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 2016-10-11
      • 2017-04-21
      • 2018-03-20
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      相关资源
      最近更新 更多