码迷,mamicode.com
首页 > 其他好文 > 详细

范式理论

时间:2015-02-12 10:46:54      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:范式理论

目前的关系型数据库有六种范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),第四范式(四NF),第五范式(5NF),第六范式(6NF)。满足最低要求的范式是第一范式。在第一范式的基础上进一步满足更多要求的称为第二范式,其余的范式依次类推。一般说来,数据库满足第三范式即可。

第一范式是最低的规范化要求,第一范式要求数据表不能存在重复的记录,即存在一个关键字。1NF的第二个要求是每个字段都不可再分,即已经分到最小,关系数据库的定义就决定了数据库满足这一条。第一范式是设计数据库表的最低要求,其最主要的特点就是实体的属性不能再分,映射到表中,就是列(字段)不能再分,如下:

学号

姓名

联系方式

101

李晓峰

0995-23451214  675423369

如上面的联系方式还可以再分,这样就不符合第一范式,我们应该这样子改:

学号

姓名

电话

QQ

101

李晓峰

0995-23451214

675423369

第二范式:

如果一个关系属于1NF,且所有的非主关键字段都完全地依赖于主关键字,则称之为第二范式,简记为2NF

 

 

姓名

选秀课程

教材

张三

Struts2

Struts2完全手册

李四

Struts2

Struts2完全手册

李四

Oracle12c

Oracle开发手册

上面的这个表是符合第一范式的,但是上面的数据中可以看出,姓名和选秀的课程是有对应的关系,但是姓名和教材是没有什么对应的关系,但是选秀课程和教材是有关系的,所以我们应该设计如下的表:

姓名

选秀课程

张三

Struts2

李四

Struts2

李四

Oracle12c

 

课程

教材

Oracle12c

Oracle开发手册

Struts2

Struts完全手册

第三范式
如果一个关系属于2NF,且每个非关键字不传递依赖于主关键字,这种关系是3NF。如下:

学好

姓名

班级

系别

101

张三

C++1

计算机技术

102

李四

英语1

外语专业

上面的表示符合第二范式的,但是如果我们已经知道了这个学生所在的班级的话,那么我们也就可以知道了这个学生所在的系别,那么就是说系别信息是多余的。我们如下设计:

学好

姓名

班级

101

张三

C++1

102

李四

英语1

 

班级

系别

C++1

计算机技术

英语1

英语1

 

范式理论

标签:范式理论

原文地址:http://blog.csdn.net/qq_20545159/article/details/43759385

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!