数据库三范式

Posted tangjian07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库三范式相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

 

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

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

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

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

                        学生信息表

学号 姓名 年龄

                        商品信息表

商品编号 商品名称

 

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

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

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

应该转换成如下两张表:

                      爸爸信息表

爸爸 儿子  女儿

                      女儿信息表

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

以上是关于数据库三范式的主要内容,如果未能解决你的问题,请参考以下文章

数据库三范式

MySQL-- 数据库的三范式

数据库三范式

数据库三范式

第三范式

Mysql数据库设计三范式