数据库三范式

时间:2015-05-19 18:42:20   收藏:0   阅读:359

数据库三范式

2015-05-19

1 三范式非正式描述
2 三范式解释
3 三范式示例

1 三范式非正式描述


 返回

2 三范式解释


 返回

3 三范式示例


 返回

3.1 第一范式

表1  不符合第一范式的例子(关系数据库中create不出这样的表)

字段1 字段2(字段2.1, 字段2.2) 字段3 ......

存在的问题: 因为设计不出这样的表, 所以没有问题;

3.2 第二范式

表2 不符合第二范式的例子:

 

学号 姓名 年龄 课程名称 成绩 学分

因为学生有多门课程,所以把学号和课程名称作为表的联合主键。该表姓名、年龄仅依赖主关键字一部分的属性学号,成绩、学分仅依赖主关键字一部分的属性课程名称,不符合第二范式。

这个表明显说明了两个事务:学生信息, 课程信息;

存在问题:

修正:

表2.1 学生

学号 姓名 年龄

表2.2 课程

课程名称 学分

表2.3 选课关系

学号 课程名称 成绩

 

满足第2范式只消除了插入异常。

3.3 第三范式

表3 不符合第三范式的例子:

学号 姓名 年龄 所在学院 学院联系电话

关键字为单一关键字"学号";

存在依赖传递: (学号) → (所在学院) → (学院地点, 学院电话)

存在问题:

修正:

表3.1 学生

学号 姓名 年龄 所在学院

表3.2 学院

所在学院 学院联系电话

原文:http://www.cnblogs.com/Ming8006/p/4514815.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!