在给定的函数依赖项

时间:2018-01-21 17:31:53

标签: database database-normalization functional-dependencies

我正在努力弄清楚这个表格中的Normal Form,因为只给出了函数依赖:

{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} AND {D} - > {H}

表5: {F} - > {I}

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

由于

1 个答案:

答案 0 :(得分:0)

鉴于函数依赖关系和指定的键,这意味着关系由函数依赖关系中存在的所有属性组成。

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

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