是否只有一个属性的关系是非素数,而在2NF而不是3NF的关系?

时间:2019-08-15 12:28:42

标签: database-normalization 3nf

是否只有一个属性的关系是非素数(所有其他属性都是素数),并且该关系是 2NF但不是3NF

1 个答案:

答案 0 :(得分:-1)

如果我解释这项权利,您是在问:

  

“假定有一个关系/数据库表,其中只有一个非键   属性/列。该表是否可能位于第二个NF /正常   表单,但不是第3表单?”

答案是否定的。具有一个非关键属性的关系也将始终位于第三个NF中。

您可以这样考虑条件1-3:

  1. 要成为第一个NF,表的属性值不得 包含枚举,并且每个表行都必须是唯一的。
  2. [如果表具有复合键,则它只能不在第二NF中。] 要在第二NF中,必须没有任何仅依赖于一个非键属性的非键属性。 每个不依赖于FULL键的非键属性都必须与它们所依赖的键部分一起隔离到各自的关系中。 (当然,原始表中的键不会更改)
  3. [如果表具有至少两个非键属性,则该表只能不在第三NF中。] 要在第三NF中,不能存在任何非键属性。仅依赖于其他非密钥属性。同样,它们将需要隔离到它们自己的关系中,通常需要为此创建一个密钥。在原始表中,将剩下一个外键。

如您所见,要使第三个NF失败,您至少需要两个非关键属性,因为一个必须依赖于另一个。如果少于两个非关键属性并且该表已经在第二个NF中,那么它也将在第三个NF中。