《数据库》第十一讲关系数据库规范化理论.ppt课件精品名师资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
及应用 • 了解BCNF范式 • 能灵活应用范式理论进行关系模式的分解
2019年3月17日
11.1 规范化问题的提出

关系数据库的规范化理论最早是由关系数据库的创始 人E.F.Codd提出,后经许多专家学者深入的研究和发 展,形成了一整套有关关系数据库设计的理论 系统运行效率、成败的决定因素
• 如何设计一个适合的关系数据库系统,关键是关系数据
StudInfo StudNo 99070401 99070501 99070502 99070601 DeptmentInfo Deptment 计算机 信息 自动化 DMasterNM 刘伟 王平 刘伟 StudName 赵亦 钱尔 孙珊 李思 StudSex 男 男 女 女 Deptment 计算机 信息 信息 自动化 StudScoreInfo StudNo CourseID StudScore
关系的实体完整性约束,主关系键的值不能为空,因没有 学生,StudNo和CourseID均无值,不能进行插入操作。 • 当某个学生尚未选课,即CourseID未知,实体完整性约束 主关系键的值不能部分为空,不能进行插入操作。
2019年3月17日
异常问题

3. 删除异常
• •
某系学生全部毕业而没有招生时,删除全部学生的记录 则系名、系主任也随之删除,而这个系依然存在,在数 据库中却无法找到该系的信息。 如果某个学生不再选修SJKJC01课程,本应该只删去 SJKJC01,但SJKJC01是主关系键的一部分,为保证 实体完整性,必须将整个元组一起删掉,这样,有关该 学生的其它信息也随之丢失。
SCD(StudNo,StudName,StudSex,Deptment,DMasterNM,CourseID ,StudScore)


其中, StudNo表示学生学号, StudName表示学生姓名, StudSex表示学生性别,Deptment表示学生所在的系别, DMasterNM 表示系主任姓名, CourseID 表示课程号, StudScore表示成绩。 根据实际情况,这些数据有如下语义规定:
SJKJC01
85
93
11.1.3 异常问题

(StudNo,CourseID)属性的组合能唯一标识一个元组, 为主关系键 在进行数据库的操作时,会出现以下几方面的问题 • 1. 数据冗余
很大,浪费了存储空间。
• 系名、系主任姓名、学生姓名、性别重复,数据的冗余度
插入异常
• 2.
• 新系没有招生,则系名和系主任的信息无法插入到数据库 • 在这个关系模式中(StudNo,CourseID)是主关系键,根据
第十一讲 关系数据库规范化理论
教学内容


如何使用关系模型设计关系数据库,针对一个 现实问题,如何选择一个比较好的关系模式的 集合,每个关系又应该由哪些属性组成。这属 于数据库逻辑设计的问题。 本讲讲述关系数据库规范化理论,这是数据库 逻辑设计的理论依据。
• 要求了解规范化理论的研究动机及其在数据库设计
• 学生关系 • •
StudInfo(StudNo,StudName,StudSex,Deptment) 选课关系 StudScoreInfo(StudNo,CourseID,StudScore) 系关系Deptmentinfo(Deptment,DMasterNM)
2019年3月17日
分解后的关系模式
学生改名,则该学生的所有记录都要逐一修改StudName 某系更换系主任,则属于该系的学生记录都要修改 DMasterNM的内容,稍有不慎,就有可能漏改某些记录, 这就会造成数据的不一致性,破坏了数据的完整性。
2019年3月17日

4. 更新异常
• •
11.1.4 好的关系模 式。 产生上述问题的原因,直观地说,是因为关系 中“包罗万象”,内容太杂了。 把关系模式SCD分解为下面三个结构简单的关 系模式
• • •
中的作用 掌握函数依赖的有关概念 第一范式、第二范式、第三范式的定义 重点掌握并能够灵活运用关系模式规范化的方法和 关系模式分解的方法
2019年3月17日
教学重点及目标

教学重点
• 函数依赖的理解 • 第一范式、第二范式、第三范式的应用 • 关系模式分解方法

教学目标
• 掌握函数依赖的概念及应用 • 掌握第一范式、第二范式、第三范式的概念
Form)

函数依赖起着核心的作用,是模式分解和模式 设计的基础,范式是模式分解的标准。 关系模式的存储异常问题
• 数据库的逻辑设计为什么要遵循一定的规范化理论? • 什么是好的关系模式? • 某些不好的关系模式可能导致哪些问题?
2019年3月17日
11.1.2 存储异常示例

教学管理数据库,关系模式SCD
钱尔
钱尔 钱尔 钱尔 孙珊 孙珊
信息
信息 信息 信息 信息 信息
王平
王平 王平 王平 王平 王平
YY01
DXYW02 DXPLL02 GDSX02 SJKJC01 GDSX01
57
80 70 70 0 70

女 女
99070502
99070601
孙珊
李思


信息
自动化
2019年3月17日
王平
刘伟
SJJG02
StudName
赵亦 赵亦
StudSex
男 男

男 男
Deptment DMasterNM CourseID StudScore
计算机 计算机 刘伟 刘伟 SJKJC01 GDSX01 90 85
99070501
99070501 99070501 99070501 99070502 99070502
库模式的设计 • 一个好的关系数据库模式应该包括多少关系模式 • 每一个关系模式又应该包括哪些属性 • 如何将这些相互关联的关系模式组建一个适合关系模型

必须在关系数据库的规范化理论的指导下逐步完成。
2019年3月17日
11.1.1 关系数据库规范化理论的内容

主要包括三个方面
• 函数依赖 • 范式(Normal • 模式设计
• 1. • 2.
• •
一个系有若干个学生,但一个学生只属于一个系; 一个系只有一名系主任,但一个系主任可以同时兼几个系 的系主任; 3. 一个学生可以选修多门功课,每门课程可有若干学生选修; 4. 每个学生学习课程有一个成绩。
2019年3月17日
关系SCD示例数据
StudNo
99070401 99070401
相关文档
最新文档