给定的数据库关系是3NF还是2NF?

时间:2014-02-04 18:19:40

标签: database-design relational-database database-normalization

下面给出的是数据库关系R,它是FD的集合:

enter image description here

从FD集合中,很明显候选键是 AB BC

使用这些候选键,我认为依赖 A - > C C - > A 表示部分依赖关系(因为A只能用C而不是BC确定; C和AB的类似参数)

因此,在我看来,这种关系是1NF(2NF条件没有达到)。

然而,根据我的教授对这个问题所做的评估,这个关系在3NF,因为对于给定的每个依赖,左边是超级密钥(AB,AC)或右侧是候选者的一部分键(C,A)。我同意满足3NF的这些标准,但除了这些标准外,第一个标准是R应该是2NF(显然不是......)

1 个答案:

答案 0 :(得分:1)

在此示例中,

  

AB和BC是候选键。

  

D是非素数属性

     

因为,非主要属性

没有部分依赖性

  

非素数属性仅依赖于超级键

关系在 3NF 但不在 BCNF  因为所有左侧都不是超级键

希望,这有帮助!