码迷,mamicode.com
首页 > 数据库 > 详细

数据库一、二、三范式

时间:2019-04-06 16:48:39      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:数据库表   col   主键   字段   属性   名称   第三范式   str   tab   

第一范式:不存在重复的列,即数据库表的每一列都是不可分割的原子数据项。

eg:不符合第一范式如下表

学号 姓名 班级
01 张三 高三1班

应该转换成如下:(高三1班可以拆分成高三年级和1班)

学号     姓名     年级     班级    
01 张三 高三 1班

 

第二范式:属性完全依赖于主键(满足第一范式的前提下),即任意一个字段只依赖于表中的同一个字段。

eg:不符合第二范式如下表:

学号     姓名     年龄     商品编号     商品名称    

应该转换成如下两张表:(商品信息不依赖于学号)

                        学生信息表

学号 姓名 年龄

                        商品信息表

商品编号 商品名称

 

第三范式:属性不能传递依赖于主属性(满足第二范式的前提下),即如果某属性依赖该表其他非主键属性,而其他非主键属性依赖于主键,那么这个属性就是间接依赖主键,这就叫传递依赖于主属性。

eg:不符合第三范式如下表:

爸爸 儿子 女儿 女儿的小猫 女儿的布娃娃  

应该转换成如下两张表:

                      爸爸信息表

爸爸 儿子  女儿

                      女儿信息表

女儿      女儿的小猫   女儿的布娃娃

数据库一、二、三范式

标签:数据库表   col   主键   字段   属性   名称   第三范式   str   tab   

原文地址:https://www.cnblogs.com/tangjian07/p/10662019.html

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