[电脑基础知识]五关系数据库理论

上传人:tia****nde 文档编号:70865151 上传时间:2019-01-18 格式:PPT 页数:40 大小:708.61KB
返回 下载 相关 举报
[电脑基础知识]五关系数据库理论_第1页
第1页 / 共40页
[电脑基础知识]五关系数据库理论_第2页
第2页 / 共40页
[电脑基础知识]五关系数据库理论_第3页
第3页 / 共40页
[电脑基础知识]五关系数据库理论_第4页
第4页 / 共40页
[电脑基础知识]五关系数据库理论_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《[电脑基础知识]五关系数据库理论》由会员分享,可在线阅读,更多相关《[电脑基础知识]五关系数据库理论(40页珍藏版)》请在金锄头文库上搜索。

1、1,多媒体数据库技术,第五章 关系数据库理论 西安理工大学 康晓兵,2,内 容 提 纲,关系数据库以数学理论为基础,因此关系模型可以设计得更加科学。对于关系模型的三要素(数据结构、关系操作及完整性约束条件)来说,关系模式可以设计的更加合理,关系操作可以进行优化,效率更高。关系数据理论包括数据库设计理论(即规范化理论)和数据库操作理论(即查询优化理论)。本章主要研究规范化理论。 5.1 关系模式设计中存在的问题(规范化的必要性) 5.2 函数依赖 5.3 关系模式规范化和范式,3,知识回顾,一、关系模式的形式化定义 二、关系模式的简化定义 三、什么是数据依赖,4,一、关系模式的形式化定义,关系模

2、式由五部分组成,即它是一个五元组: R(U, D, DOM, F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映象集合 F: 属性间数据的依赖关系集合,5,二、关系模式的简化表示,关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系,6,三、什么是数据依赖(),1. 完整性约束的表现形式 限定属性取值范围:例如学生成绩必须在0-100之间 定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键,7,什么是数据

3、依赖(),2. 数据依赖 一个关系内部属性与属性之间的约束关系 现实世界属性间相互联系的抽象 数据内在的性质 语义的体现,8,什么是数据依赖(),3. 数据依赖的类型 函数依赖(Functional Dependency,简记为FD) 多值依赖(Multivalued Dependency,简记为MVD) 其他,9,5.1 关系模式设计中存在的问题,康晓兵,10,关系模式设计中存在的问题(),在设计教学管理数据库时,设计了如下一个关系模式: S(SNO,SN,AGE,DEPT,DEAN,CNO,G) 其中, SNO表示学生学号,SN表示学生姓名,AGE表示学生年龄,DEPT表示学生所在的系别,

4、DEAN表示系主任姓名, CNO表示课程号,G表示成绩。 根据实际情况,这些数据有如下语义规定: 1. 一个系有若干个学生,但一个学生只属于一个系; 2. 一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任; 3. 一个学生可以选修多门课,每门课可有若干学生选修; 4. 每个学生学习一门课程有一个成绩。,11,关系模式设计中存在的问题(),关系S,12,关系模式设计中存在的问题(),通过分析, (SNO, CNO)属性的组合能唯一标识一个元组,所以(SNO, CNO)是该关系模式的主键。但在数据操作时会产生以下问题: 信息的不可表示问题 插入异常:如果某个新系没有招生,尚无学生时,则系

5、名和系主任的信息无法插入到数据库中。 删除异常:某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。,13,关系模式设计中存在的问题(),信息的冗余问题 数据冗余:每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。 更新异常:如果学生改名,则该学生的所有记录都要逐一修改SN; 又如某系更换系主任,则属于该系的学生记录都要修改DEAN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。,14

6、,关系模式设计中存在的问题(),S是一个不好的关系模式 原因:由存在于模式中的某些数据依赖引起的 解决方法:模式分解 模式分解是关系规范化的主要方法 把关系模式S分解为下面三个结构简单的关系模式: 学生关系:S(SNO,SN,AGE,DEPT) 选课关系:SC(SNO, CNO,G) 系关系:D(DEPT, DEAN) 结果如下页图所示:很显然,消除了以上存在的四点 不足,数据库模型更加科学、合理。,15,关系模式设计中存在的问题(),S SC,16,5.2 函数依赖,康晓兵,17,规范化理论,关系数据库系统的设计,关键是关系数据库模式的设计,一个好的关系数据库模式应该包括多少关系模式,而每一

7、个关系模式又应该包括哪些属性,又如何将这些相互关联的关系模式组建一个合适的关系模型,这些工作决定了整个系统运行的效率,也是系统成败的关键所在,而这一切正是在关系数据规范化理论的指导下逐步完成的。 关系数据的规范化理论主要包括三个方面的内容: 函数信赖 范式(Normal Form) 模式设计,18,函数依赖(),函数依赖 函数依赖反映同一关系中属性间的一种约束关系。 关系模式的五元组表示: R(U,D,Dom,F) ,在规范化过程中 D和Dom可以不予考虑,关系模式可简化为三元组:R(U,F) 设R(U)是属性集U上的关系模式,X , Y U, r是R(U) 上 的任意一个关系,如果 对 t

8、, s r,若tX = sX,则tY = sY 成立 那么称“X函数决定Y”,或“Y函数依赖于X”, 记作:XY,称X为决定因素,Y称为依赖因素, 如: SNO SN, (SNO,CNO) G 注意:t和s是关系r中任意二个元组。,19,函数依赖(),平凡函数依赖 如果X Y,但Y X,则称其为非平凡的函数依赖,否则称为平凡的函数依赖 如(SNO,SN) SN是平凡的函数依赖 部分函数依赖 在R(U)中,如果XY,且对于任意X的真子集X,都 有 ,则称Y对X完全函数依赖,记作 否则称为Y对X部分函数依赖,记作,一般情况下,总是讨论非平凡函数依赖,X Y,(SNO,CNO) G,(SNO,CNO

9、) SN,X Y,20,函数依赖(),传递函数依赖 在R(U)中,如果 则称Z对X传递函数依赖,记为:X Z 在关系S(SNO , SN ,AGE, DEPT , DEAN , CNO , G)中:SNO DEPT , DEPT DEAN SNO DEAN,X Y,(Y X),Y Z,Y X,且Z Y,快速热身:找出职工工资表中的传递函数依赖?,传递,传递,职工工资(职工,级别,工资),21,函数依赖范例,对于关系模式S(SNO , SN , DEPT , DEAN , CNO, G) 主码:(SNO,CNO) 函数依赖集:,传递,(SNO,CNO) G SNO SN,(SNO,CNO) SN

10、 SNO DEPT,(SNO,CNO) DEPT DEPT DEAN SNO DEAN,22,5.3 关系模式规范化和范式,康晓兵,23,范式,范式( Normal Forms,简记为NF )定义 范式是对关系模式的不同数据依赖程度的衡量 通过模式分解将一个低级范式转换为若干个高级范式的过程称作规范化 显然 4NFBCNF 3NF 2NF 1NF,24,1NF,定义 关系中每一分量不可再分。即不能以集合、序列等作为属性值 关系R属于第一范式,记为R1NF,25,2NF (),关系模式S(SNO , SN , DEPT , DEAN , CNO , G) S 1NF 不良特性 插入异常:如果某个

11、新系没有招生,尚无学生时,则系名和系主任的信息无法插入到数据库中 删除异常:某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息 更新异常:如果学生转系,若他选修了k门课,则需要修改k次,同时系主任也随之修改多次 数据冗余:如果一个学生选修了k门课,则有关他的所在系的信息重复,26,2NF (),定义 若R1NF,且每个非主属性完全依赖于码,则称R2NF (消除非主属性对码的部分依赖) S中的函数依赖集:SNO SN, SNO DEPT, DEPT DEAN, (SNO, CNO) G 但S2NF,因为 (SNO,CNO)为

12、主码 非主属性:SN,DEPT,DEAN,G,(SNO,CNO) SN (SNO,CNO) DEPT (SNO,CNO) DEAN,27,2NF (),改造 非主属性有两种,一种完全依赖于码,一种部分依赖于码。 将S分解为:SC(SNO , CNO , G) S_DEPT(SNO , SN , DEPT , DEAN) 很显然,SC2NF,S_DEPT2NF 快速热身 关系模式R(A,B,C,D),码为AB,给出它的一个函数依赖集,使得R属于1NF而不属于2NF,28,3NF (),S_DEPT(SNO , SN , DEPT , DEAN) 不良特性 插入异常:如果系中没有学生,则有关系的信

13、息就无法插入 删除异常:如果学生全部毕业了,则在删除学生信息的同时有关系的信息也随之删除了 更新异常:如果学生转系,不但要修改DEPT,还要修改DEAN,如果换系主任,则该系每个学生元组都要做相应修改 数据冗余:每个学生都存储了所在系的系主任的信息,29,3NF (),定义 关系模式R( U , F )中,若不存在这样的码X,属性组Y及非主属性Z(Z Y),使得下式成立, XY , YZ , YX 则称R3NF 若关系模式R 2NF,且每个非主属性都不传递依赖于R的候选码,则称R满足第三范式(3NF)。(消除非主属性对码的传递依赖) 若R 3NF,则每个非主属性既不部分依赖于候选码,也不传递依

14、赖于候选码。 如S_DEPT 3NF,因为有SNODEPT,DEPTDEAN,30,3NF (),改造 将S_DEPT分解为 STUDENT(SNO , SN , DEPT)3NF DEPT(DEPT , DEAN) 3NF 快速热身 关系模式R(A,B,C,D),码为AB,给出它的 一个函数依赖集,使得R属于2NF而不属于3NF 提醒! 3NF是一个可用关系模式应满足的最低范式。,31,BCNF (),由Boyce和Codd提出,是对第三范式的扩充 示例 STC(SNO , TNO , CNO),(学号,教师号,课程号) TNO CNO,每位老师只教授一门课 (SNO,TNO) CNO (S

15、NO,CNO) TNO,每门课由若干个教师讲授,某学生选定一门课,就对应一位老师 则(SNO,TNO),(SNO,CNO)为候选码。 思考 STC 3NF ?(全为主属性),32,BCNF (),不良特性 插入异常:如果没有学生选修某位老师的任课,则该老师担任课程的信息就无法插入。某个学生尚未选课,则受主属性不能为空的限制,有关课程信息也不能插入库中。 删除异常:删除学生选课信息,会删除掉老师的任课信息 更新异常:如果老师所教授的课程有所改动,则所有选修该老师课程的学生元组都要做改动 数据冗余:每位学生都存储了有关老师所教授的课程的信息 症由: 主属性对码的不良依赖,33,BCNF (),定义 关系模式R( U , F )1NF,对于属性组X,Y,若XY且 Y X时X必含有码,则R(U , F)BCNF 如STC BCNF,因为TNO CNO,而TNO不含有码 BCNF要求决定因素必须包含码,即消除了任何属性对码的传递和部分依赖 若R(U,F) 3NF,并且不存在主属性对非码的函数依赖,则RBCNF。 改造 将S分解为:S_T(SNO,TNO)BCNF T_C(TNO,CNO)BCNF,34,BCNF(),思考 (SNO , CNO , ORDER),表示学生选修课程的名次,具有函数依赖(SNO,CNO) ORDER,

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

当前位置:首页 > 高等教育 > 大学课件

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