当前位置:
文档之家› 规范化设计的必要性在关系数据库设计中
规范化设计的必要性在关系数据库设计中
李阳洋 郭敏
403 403
c6
通信原理
失败!
11
一、规范化设计的必要性
关系模型1:R(教员,教研室,课程号,课程名) 原因:
教研室 课程号 402 c1 课程名 信息系统
教员 徐浩
数据依赖
徐浩
张国庆 张国庆
402
402 402
c2
c2 c3
数据库
数据库 VFP设计
李阳洋
403
c6
通信原理
12
403
c6
通信原理
简称
FD
16
6.1 问题的提出
一个好的关系模式: 信息保存量大 查询效率高 数据保存的异常现象(插入异常、删除异常和 更新异常)少
问题
关系规范化中的删除操作异常是指
操作异常是指 。
,插入
A. 不该删除的数据被删除
B. 不该插入的数据被插入
C. 应该删除的数据未被删除
D. 应该插入的数据未被插入
A、D
6.1 问题的提出(6)
一个DB模式到底应包含有哪些关系模式?
一个关系模式到底应包含哪些属性?
6.2 规范化
规范化理论通过分解关系模式来消除其中不合
适的数据依赖,以解决插入异常、删除异常、更
新异常和数据冗余问题。
数据依赖的类型
函数依赖 多值依赖 其他
⒉ 一个学院只有一名院长; ⒊ 一个学生可以选修多门课程, 每门课程有若干学 生选修;
⒋ 每个学生所学的每门课程都有一个成绩。
为了保持相关数据,特设计如下关系模式: Student(Sno, Sdept, Mname, Cname, Grade )
6.1 问题的提出(3)
假设数据库运行了一段时间后,该表中存在如下数据
大学教学管理数据库的概念结构设计采用属性表方法:
…
… …
分数
所属专业
教职工号
教员姓名 职称
职称
所属教研室
9
问题引入
学生学籍关系(学号,姓名,性别,出生日期,籍贯 ,); 课程归属关系(课程号,课程名,学时,教研室); 学习成绩关系(学号,姓名,课程号,课程名,分数 ,所属专业); 授课统计关系(课程号,课程名,学时,教研室,教 职工号,姓名,职称); 教师信息关系(教员号,姓名,性别,出生年月,职 称,教研室)。
冗余存储:信息被重复存储,导致浪费大量存储空间。 更新异常:当一个副本被修改,所有副本都必须修改。当更 新数据时,系统要付出很大的代价来维护数据的完整性,否 则会面临数据不一致的危险。 插入异常:只有当一些信息事先已经存放在数据库中时,另 外一些信息才能存入数据库中。 删除异常:删除某些信息时可能丢失其它信息。 5
R(教员,教研室,课程号,课程名)
10
一、规范化设计的必要性
关系模型1:R(教员,教研室,课程号,课程名) 存在问题 教员 教研室 课程号 课程名 :
徐浩
402
c1
信息系统
数据冗余 更新异常 插入异常 删除异常
徐浩
张国庆 张国庆
402
402
c2
c2
数据库
数据库
402 c3 R的设计是不合适的 VFP设计 关系模式
引入
在一个关系数据库应用系统中,构成该系统 的关系数据库的全局逻辑结构(逻辑模式)的基 本表的全体,称为该数据库应用系统的关系数据 库模式。
3
本章要解决的两个问题
如何判断一个数据库模式是“好”的模式 如何设计出一个“好”模式?
4
数据冗余导致的问题
数据冗余是指同一信息在数据库中存储了多个副本。它可能引 起下列问题:
第六章 关系数据理论
6.1 问题的提出
6.2 规范化
6.3 数据依赖的公理系统
第六章的问题
关系数据理论主要要解决什么问题? 什么是函数依赖? 什么是平凡的函数依赖、非平凡的函数依赖? 什么是部分函数依赖、传递函数依赖? 怎样从一范式规范化到二范式?怎样从二范式规范化 到三范式?怎样从三范式规范化到BC范式? 什么是逻辑蕴涵?其作用是什么? 什么是闭包?如何求闭包? 什么是最小函数依赖集?如何求?
6.2 规范化
6.2.1 函数依赖 6.2.2 码 6.2.3 范式 6.2.4 2NF
6.1 问题的提出 (1)
关系模式由五部分组成,即它是一个五元组:
R(U,ቤተ መጻሕፍቲ ባይዱD, DOM, F)
R:
关系名 组成该关系的属性名集合
U:
D:
F:
属性组U中属性所来自的域
DOM:属性向域的映象集合 属性间数据的依赖关系集合
6.1 问题的提出(2)
假定某大学存在如下事实: 1.一个学院有若干学生, 一个学生只属于一个学院;
15
问题根源
教员
徐浩
教研室 课程号
402 c1
课程名
信息系统
例如一个教员对应一个教研室,课程号与课 徐浩 402 c2 数据库 程名相互联系等。
张国庆 402 c2 数据库
这类依赖是最基本、最重要的一种数据依赖, 张国庆 402 c3 VFP设计 人们称之为函数依赖。
李阳洋
Functional Dependency
教员
徐浩 徐浩 张国庆
课程号
c1 c2 c2
课程名
信息系统 数据库 数据库
张国庆 c3 VFP设计 r1 关系模式R1和R2的设计比R更合适 李阳洋 c6 通信原理 14
r2
一、规范化设计的必要性
在关系数据库设计中,其关系模式的设计是 极有讲究的,必须予以重视。 不合理的关系模式会引起数据冗余和操作异 常问题,所以需要对关系模式进行规范化设计。
一、规范化设计的必要性
关系模型1:R(教员,教研室,课程号,课程名)
解决的方法:关系模式的分解
关系模型2:R1(教员,教研室), R2(教员, 课程号,课程名)
13
一、规范化设计的必要性
关系模型2:R1(教员,教研室), R2(教员, 课程号,课程名)
教员
徐浩 张国庆 李阳洋
教研室
402 402 403
Sno
201101 201102 201102 201102 201101 201101
Sdept Mname Cname
cs is is is cs cs 李芳 张力 张力 张力 李芳 李芳 数据库 数据库 离散数学 数据结构 数据处理 数学
Grade
90 87 28 67 78 67
问题引入
表名 学 生 学籍表 学号 姓名 拥 有 的 属 性 性别 … 课 程 归属表 课程号 课程名称 学时数 (归属)教研室 学 习 成绩表 学号 姓名 课程号 课程名称 授 课 统计表 课程号 课程名称 学时数 (任课)教研室 教 师 信息表 教职工号 教员姓名 性别 出生年月