范式理论

53 篇文章 1 订阅
34 篇文章 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

外语专业

 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值