需要帮助Boyce Codd Normal Form

时间:2015-03-03 09:30:18

标签: database database-normalization bcnf

我陷入了规范化。我已归一化到3NF。但是我不知道如何进行BCNF。 3NF表格列表如下所示。

  1. 表1( A ,B,C); FD:A - > B,A - > C.
  2. 表2( D ,E); FD:D - > E.
  3. 表3( A D ,F); FD {A,D} - > F
  4. 表4( A D H ,J,K); FD:{A,D,H,I} - > J.

    如上例所述,我不知道如何为Table4应用BCNF。属性K根据要求没有任何依赖性。我假设我们必须在表4中应用BCNF。请你帮忙解决这方面的问题。谢谢

1 个答案:

答案 0 :(得分:1)

阿姆斯特朗的公理:

  

扩充的公理:                                                                                    如果X-> Y,那么对于任何Z

,XZ-> YZ

因此,这可以应用于表4,

  表4中,FD:{A,D,H,I} - > J.可以写成   FD:{A,D,H,I,K} - > {J,K}

然后,我们可以应用分解公理,

  

<强>分解:   如果X - > YZ然后X - &gt; Y和X - &gt; ž

因此,应用于table4,我们得到,

  

FD :{A,D,H,I,K} - &gt; Ĵ,
   FD :{A,D,H,I,K} - &gt; K

所以,table4的两个FD是:

  

FD :{A,D,H,I} - &gt; Ĵ,
   FD :{A,D,H,I,K} - &gt; {J,K}

因此{A,D,H,I,K}是超级密钥,根据BCNF的定义,我们得到table4在BCNF中

希望这会有所帮助。