数据库原理配套幻灯片lesson-06

上传人:F****n 文档编号:88156382 上传时间:2019-04-20 格式:PPTX 页数:126 大小:443.91KB
返回 下载 相关 举报
数据库原理配套幻灯片lesson-06_第1页
第1页 / 共126页
数据库原理配套幻灯片lesson-06_第2页
第2页 / 共126页
数据库原理配套幻灯片lesson-06_第3页
第3页 / 共126页
数据库原理配套幻灯片lesson-06_第4页
第4页 / 共126页
数据库原理配套幻灯片lesson-06_第5页
第5页 / 共126页
点击查看更多>>
资源描述

《数据库原理配套幻灯片lesson-06》由会员分享,可在线阅读,更多相关《数据库原理配套幻灯片lesson-06(126页珍藏版)》请在金锄头文库上搜索。

1、数据库原理,孙大为 中国地质大学 信息工程学院,课程内容安排,数据库编程,数据库安全性,关系数据库标准语言SQL,数据库完整性,关系数据库,数据库设计,关系数据理论,绪 论,关系查询处理和查询优化,数据库恢复技术,并发控制,第六讲 关系数据理论,基于某个数据库管理系统设计数据库,如何基于数据库系统编程 第6章 关系数据理论 第7章 数据库设计 第8章 数据库编程,第二篇 设计与应用开发篇,本讲目标,6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解 6.5 小结,6.1 问题的提出,关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设

2、计的工具关系数据库的规范化理论,问题的提出(续),关系模式由五部分组成,是一个五元组: R(U, D, DOM, F) 关系名R是符号化的元组语义 U为一组属性 D为属性组U中的属性所来自的域 DOM为属性到域的映射 F为属性组U上的一组数据依赖,问题的提出(续),由于D、DOM与模式设计关系不大,因此在本章中把关系模式看作一个三元组:R 当且仅当U上的一个关系r满足F时,r称为关系模式R的一个关系 作为二维表,关系要符合一个最基本的条件:每个分量必须是不可分开的数据项。满足了这个条件的关系模式就属于第一范式(1NF),问题的提出(续),数据依赖 是一个关系内部属性与属性之间的一种约束关系 通

3、过属性间值的相等与否体现出来的数据间相互联系 是现实世界属性间相互联系的抽象 是数据内在的性质 是语义的体现,问题的提出(续),数据依赖的主要类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multi-Valued Dependency,简记为MVD),问题的提出(续),函数依赖普遍存在于现实生活中 描述一个学生关系,可以有学号、姓名、系名等属性。 一个学号只对应一个学生,一个学生只在一个系中学习 “学号”值确定后,学生的姓名及所在系的值就被唯一确定。 Sname=f(Sno),Sdept=f(Sno) 即Sno函数决定Sname Sno函数决定Sdept

4、记作SnoSname,SnoSdept,问题的提出(续),例6.1 建立一个描述学校教务的数据库。 涉及的对象包括: 学生的学号(Sno) 所在系(Sdept) 系主任姓名(Mname) 课程号(Cno) 成绩(Grade),问题的提出(续),假设学校教务的数据库模式用一个单一的关系模式Student来表示,则该关系模式的属性集合为: U Sno, Sdept, Mname, Cno, Grade 现实世界的已知事实(语义): 一个系有若干学生, 但一个学生只属于一个系; 一个系只有一名(正职)负责人; 一个学生可以选修多门课程,每门课程有若干学生选修; 每个学生学习每一门课程有一个成绩。,问

5、题的提出(续),由此可得到属性组U上的一组函数依赖F: F=SnoSdept, Sdept Mname, (Sno, Cno) Grade,问题的提出(续),关系模式Student中存在的问题: (1)数据冗余 浪费大量的存储空间 每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。,问题的提出(续),(2)更新异常(Update Anomalies) 数据冗余 ,更新数据时,维护数据完整性代价大。 某系更换系主任后,必须修改与该系学生有关的每一个元组。,问题的提出(续),(3)插入异常(Insertion Anomalies) 如果一个系刚成立,尚无学生,则无法把这

6、个系及其系主任的信息存入数据库。,问题的提出(续),(4)删除异常(Deletion Anomalies) 如果某个系的学生全部毕业了, 则在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。,问题的提出(续),结论 Student关系模式不是一个好的模式。 一个“好”的模式应当不会发生插入异常、删除异常和更新异常,数据冗余应尽可能少。 原因 由存在于模式中的某些数据依赖引起的。 解决方法 用规范化理论改造关系模式来消除其中不合适的数据依赖,问题的提出(续),把这个单一的模式分成三个关系模式: S(Sno,Sdept,Sno Sdept); SC(Sno,Cno,Grade,(Sno,

7、Cno) Grade); DEPT(Sdept,Mname,Sdept Mname); 这三个模式都不会发生插入异常、删除异常的问题,数据的冗余也得到了控制。,第六章 关系数据理论,6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解 6.5 小结,6.2 规范化,6.2.1 函数依赖 6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF 6.2.9 规范化小结,6.2.1 函数依赖,1.函数依赖 2.平凡函数依赖与非平凡函数依赖 3.完全函数依赖与部分函数依赖 4.传递函数依赖

8、,1. 函数依赖,定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称“X函数确定Y”或“Y函数依赖于X”,记作XY。,函数依赖(续),例 Student(Sno, Sname, Ssex, Sage, Sdept), 假设不允许重名,则有: Sno Ssex, Sno Sage Sno Sdept, Sno Sname Sname Ssex, Sname Sage Sname Sdept 但Ssex Sage, Ssex Sdept,函数依赖(续),违背了Sno S

9、name,函数依赖(续),由下面的关系表, 能否得出Sno Sname,函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。,函数依赖(续),函数依赖是语义范畴的概念,只能根据数据的语义来确定一个函数依赖。 例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立,2. 平凡函数依赖与非平凡函数依赖,XY,但YX则称XY是非平凡的函数依赖。 XY,但YX 则称XY是平凡的函数依赖。,对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义。 若不特别声明, 我们总是讨论非平凡函数依赖。,平凡函数依赖与非平凡函数依赖(续),若XY,则X

10、称为这个函数依赖的决定因素(Determinant)。 若XY,YX,则记作XY。 若Y不函数依赖于X,则记作XY。,3. 完全函数依赖与部分函数依赖,定义6.2 在R(U)中,如果XY,并且对于X的任何一个真子集X, 都有 X Y, 则称Y对X完全函数依赖,记作X Y。 若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X Y,F,P,完全函数依赖与部分函数依赖(续),例 在关系SC(Sno, Cno, Grade)中,有: 由于:Sno Grade,Cno Grade, 因此:(Sno, Cno) Grade (Sno, Cno)Sno (Sno, Cno) Cno,F,P,P,

11、4. 传递函数依赖,定义6.3 在R(U)中,如果XY(YX),YX,YZ,ZY, 则称Z对X传递函数依赖(transitive functional dependency)。记为:X Z。 注: 如果YX, 即XY,则Z直接依赖于X,而不是传递函数依赖。 例 在关系Std(Sno, Sdept, Mname)中,有: Sno Sdept,Sdept Mname, Mname传递函数依赖于Sno,传递,6.2 规范化,6.2.1 函数依赖 6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF 6.2.9 规范化

12、小结,6.2.2 码,定义6.4 设K为R中的属性或属性组合。若K U,则K称为R的一个候选码(Candidate Key)。 如果U部分函数依赖于K,即K U,则K称为超码 (Surpkey)。候选码是最小的超码,即K的任意一个真子集都不是候选码。 若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。,F,P,码(续),主属性与非主属性 包含在任何一个候选码中的属性 ,称为主属性 (Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) 全码:整个属性组是码,称为全

13、码(All-key),码(续),例6.2S(Sno, Sdept, Sage),单个属性Sno是码 SC(Sno, Cno, Grade)中,(Sno, Cno)是码 例6.3 R(P,W,A) P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key,码(续),定义6.5 关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码(Foreign key)也称外码。 SC(Sno,Cno,Grade)中,Sno不是码 Sno是 S(Sno,Sdept,

14、Sage)的码,则Sno是SC的外码 主码与外部码一起提供了表示关系间联系的手段,6.2 规范化,6.2.1 函数依赖 6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF 6.2.9 规范化小结,6.2.3 范式,范式是符合某一种级别的关系模式的集合。 关系数据库中的关系必须满足一定的要求。满足 不同程度要求的为不同范式。 范式的种类:,范式(续),各种范式之间存在联系: 某一关系模式R为第n范式,可简记为RnNF。,一个低一级范式的关系模式,通过模式分解(schema decomposition)可以转换为

15、若干个高一级范式的关系模式的集合,这种过程就叫规范化(normalization)。,6.2 规范化,6.2.1 函数依赖 6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF 6.2.9 规范化小结,6.2.4 2NF,定义6.6 若关系模式R1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则R2NF 例6.4 S-L-C(Sno,Sdept,Sloc,Cno,Grade), Sloc为学生的住处,并且每个系的学生住在同一个地方。S-L-C的码为(Sno,Cno)。 函数依赖有 (Sno,Cno)G

16、rade SnoSdept, (Sno,Cno)Sdept SnoSloc, (Sno,Cno)Sloc SdeptSloc,F,P,P,2NF(续),关系模式S-L-C不属于2NF,非主属性Sdept、Sloc并不完全依赖于码,2NF(续),一个关系模式不属于2NF,会产生以下问题: 插入异常 如果插入一个新学生,但该生未选课,即该生无Cno,由于插入元组时,必须给定码值,因此插入失败。 删除异常 如果S4只选了一门课C3,现在他不再选这门课,则删除C3后,整个元组的其他信息也被删除了。 修改复杂 如果一个学生选了多门课,则Sdept,Sloc被存储了多次。如果该生转系,则需要修改所有相关的Sdept和Sloc,造成修改的复杂化。,2NF(续),出现这种问题的原因

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号