数据库一、二、三范式

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

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

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

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

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

 

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

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

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

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

                        学生信息表

学号 姓名 年龄

                        商品信息表

商品编号 商品名称

 

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

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

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

应该转换成如下两张表:

                      爸爸信息表

爸爸 儿子  女儿

                      女儿信息表

女儿      女儿的小猫   女儿的布娃娃
posted @ 2019-04-06 16:05  akon07  阅读(248)  评论(0编辑  收藏  举报