首页 > 代码库 > 关系数据库范式粗略理解

关系数据库范式粗略理解

粗略看了一下关系数据库范式介绍,简单记录一下自己的理解

     第一范式:指属性达到原子性,即属性不可再进行分割了。例如一张person 表,其中有个字段是个人信息p_info,这个个人信息可再分割成姓名,性别,年龄三个字段。那么person这张表就没有达到第一范式,应把个人信息分解成姓名,性别,年龄之后才算达到第一范式。

  第二范式:指在达到第一范式的基础上,非主属性完全函数依赖于主属性,就好比表中设了主键,主键之外的属性完全依赖于主属性。完全函数依赖指 x决定y,但是x的任意一个子集都不能决定y。即若主键只包括一个字段,则一定是达到了完全函数依赖的,若主键是复合主键包含多个字段,则要求去掉复合主键中任意一个字段后就不能成为该表的主键。这类似于候选键与超键的关系。

  第三范式:指在达到第二范式的基础上,非主属性不传递函数依赖于主属性。传递函数依赖指x→y,y→z且y-/->x,即x决定y,y决定z且y不能决定x,则表示z不传递函数依赖于x,若y能决定x,则表示z直接函数依赖于x。

 

1NF∈2NF∈3NF∈BCNF∈4NF∈5NF

 

关系数据库范式粗略理解