数据库原理与应用
第 12 章 关系模式的规范化理论
第 12 章
关系模式的规范化理论
一张表把几件事放在一起会出现哪些问题,怎样用函数依赖分析属性之间的关系,怎样按范式把表分解到第三范式。
1
第一节 规范化和常见异常
5 页
规范化要解决什么问题,泛关系 SCD 中的数据冗余、插入异常、删除异常和更新异常
01
章首
02
规范化
03
SCD
04
四个问题
05
原因与分解
2
第二节 函数依赖
5 页
函数依赖的定义,与属性联系的关系,完全、部分、传递三种函数依赖,以及案例
06
定义
07
与联系
08
完全与部分
09
传递依赖
10
案例
实验一
用数据检验函数依赖
6 个实验
在 SCD 表上数一数重复存放的数据,做一次更新异常,再用 GROUP BY 和 HAVING 给函数依赖找反例。
1-1
数一数重复的数据
1-2
换一次系主任
1-3
学号决定姓名、年龄、系别
1-4
系别与系主任
1-5
学号与课程号
1-6
完全依赖与部分依赖
3
第三节 范式与模式分解
5 页
1NF、2NF、3NF 的定义,SCD 的两步分解,规范化的原则,无损连接与保持函数依赖
11
范式与 1NF
12
2NF
13
3NF
14
原则和步骤
15
无损连接
实验二
分解到第三范式
5 个实验
按课件的两步分解,把 SCD 拆成学生 S、选课 SC、系 D 三张表,用自然连接连回来核对,再故意切错一次,最后看三种异常是否消失。
2-1
第一步:消除部分依赖
2-2
第二步:消除传递依赖
2-3
连回来核对
2-4
切错一次
2-5
异常消失了
保山学院
·
人工智能教研室
·
曹鼎鼎