数据库笔记——范式理论

第一范式:不包含重复组的关系

如下表因最后一行,有多个值不满足第一范式

         数据库笔记——范式理论_第1张图片

转换后即满足第一范式,消除非基本数据项

       数据库笔记——范式理论_第2张图片

再如下表因“高级职称人数”是由两个基本数据项组成的一个复合数据项,所以不满足第一范式

      

转换为第一范式如下表:

     

 第二范式:属性完全依赖主键  如果一个数据表已经满足第一范式,而且该数据表中的任何一个非主键字段的数值都依赖于该数据表的主键字段,那么该数据表满足第二范式。(当存在多个主键的时候,才会出现不满足第二范式的情况)

  如下表  首先它满足第一范式,“名称”、“负责人”、“营销员”、“开始日期”、“结束日期”都依赖于“项目编号”,但“负责人部门”依赖于“负责人”,所以不满足第二范式,相当于该表有两个主键

 

  转换为第二范式如下表,消除部分依赖

 再举一个简单的小例子:

  下表满足第一范式,但“借阅时间”和“归还时间”不依赖于“身份证号”主键,所以不满足第二范式

 

 转换为第二范式为:

 

  

 第三范式:属性不能传递依赖于主键   如果一个数据表已经满足第二范式,而且该数据表中的任何两个非主键的数据值之间不存在函数依赖关系,那么该数据表满足第三范式。

 如下表满足第二范式,但“奖金”与“工资”之间存在函数依赖关系,所以不满足第三范式

 转换为第三范式要把“奖金”这一项去掉,消除传递依赖。

 

 

 

 

 

你可能感兴趣的:(数据库笔记)