单属性主键和第二范式(2NF)

时间:2019-04-09 09:09:53

标签: database database-design

我不确定此语句是对还是错:“具有单个属性主键的表至少会自动以第二范式(2NF)表示。”

我认为这是对的,但是我不能证明原因。

1 个答案:

答案 0 :(得分:0)

要使表格采用第一范式,表格的属性不能具有多个值

例如,

id   mobile_number   age
------------------------------
1    9xxx5xxxxx      25
     9xxx6xxxxx      
2    8xxxx5xxxx      26 
     7xxxx5xxxx      

可以将其标准化为1NF,

id  mobile_number  age
------------------------------------
1   9xxx5xxxxx     25
1   9xxx6xxxxx     25
2   8xxxx5xxxx     26 
2   7xxxx5xxxx     26 

如果表为第一范式且没有非主要属性不依赖于任何候选键的适当子集,则该表被称为第二范式

此处的候选密钥为{id,mobile_number}

非主要属性是年龄

该表不在2NF中,因为非素数属性(age)仅取决于候选键(id)的适当子集。

要将其标准化为2NF,我们按如下所示拆分表

id   mobile_number
------------------------------
1    9xxx5xxxxx
1    9xxx6xxxxx
2    8xxxx5xxxx
2    7xxxx5xxxx

id age
------
1  25
2  26