【问题标题】:Find what Normal form a table is in given only functional dependencies仅在给定函数依赖关系的情况下查找表的范式形式
【发布时间】:2018-01-21 17:31:53
【问题描述】:

我正在努力弄清楚这个表的正常形式,因为只给出了函数依赖:

{A,C} -> {B}

{E,C} -> {D}

{A,E} -> {F}

{D} -> {G}

{D} -> {H}

{F} -> {I}

给出的信息是主键是{A,C,E}。

到目前为止,我的工作是存在传递依赖关系,因此表不能处于 3NF 中。然而,所有这些都是完全功能依赖,所以表必须是 2NF。

问题的下一部分要求您将其分解为 3NF,这是我得到的,但不确定是否正确。

表 1: {A,E} -> {F}

表 2: {C,E} -> {D}

表 3: {A,C} -> {B}

表 4: {D} -> {G} 和 {D} -> {H}

表 5: {F} -> {I}

如果有人可以确认这是否正确,或者如果没有给出一些关于我哪里出错的提示,我们将不胜感激。

谢谢

【问题讨论】:

  • 3NF 涉及 某些 传递 FD。 不是当您的给定的持有已满时持有的所有 FD。 2NF 涉及某些部分 FD。查找、引用和参考技术术语的定义。

标签: database database-normalization functional-dependencies


【解决方案1】:

给定功能依赖和指定的键,这意味着关系由功能依赖中存在的所有属性组成。

由于(唯一的)候选键是{A,C,E},并且存在非主属性依赖于键的一部分的依赖关系(例如{A,C} -> {B}),因此关系是不是第二范式。

对于 3NF,五个表没有形成正确的分解,因为没有关系包含键。因此,为了保留数据和依赖关系的分解,您应该将关系 R(A, C, E) 添加到其他表中。这是由第三范式的合成算法规定的。

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2019-03-13
    • 1970-01-01
    • 2015-07-20
    相关资源
    最近更新 更多