第6章数据库系统概论(第4版)ppt课件.ppt
《第6章数据库系统概论(第4版)ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章数据库系统概论(第4版)ppt课件.ppt(183页珍藏版)》请在三一办公上搜索。
1、本章目标:关系数据理论既是关系数据库的重要理论基础也是数据库逻辑设计的理论指南和有力工具。要掌握规范化理论和优化数据库模式设计的方法。,第六章 关系数据理论,2022/11/23,2,第六章 关系数据理论,6.1 问题的提出6.2 规范化6.3 数据依赖的公理系统*6.4 模式的分解6.5 小结,3,重点和难点,重点:了解什么是一个“不好”的数据库模式什么是模式的插入异常和删除异常规范化理论的重要意义掌握数据依赖的基本概念,范式的概念,从1NF到4NF的定义,规范化的含义和作用四个范式的理解与应用,各个级别范式中存在的问题和解决方法。难点:各个级别范式的关系,4,6.1 问题的提出,一.概念回
2、顾二.问题的提出三.关系模式的形式化定义四.什么是数据依赖五.数据依赖对关系模式影响,5,一.概念回顾,关系关系数据模型关系数据库关系数据模式,6,二.问题的提出,给出一组数据如何构造一个适合于它的关系数据模式使用什么标准来鉴别相应设计合理与否若不合理应如何改进 -提出了数据模式的设计问题(关系数据理论),7,关系模式的设计问题,关系数据库模式是关系模式的集合 关系数据库模式=关系模式 关系数据库模式设计就是要确定:有几个关系模式每个关系模式的名称、属性组成域的定义和说明数据完整性的要求等,8,三.关系模式的形式化定义,关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F)R
3、:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系集合,即分别说明它们分别来自哪个域,9,关系模式的形式化定义,关系模式R(U, D, DOM, F) 简化为一个三元组:R(U, F)U:组成该关系的属性名集合F:属性间数据的依赖关系集合当且仅当U上的一个关系r满足F时,r称为关系模式 R(U, F)的一个关系关系最基本的规范条件:关系的每一个分量必须是一个不可分的数据项-1NF,10,四.什么是数据依赖,1.完整性约束的表现形式限定属性取值范围:例如学生成绩必须在0-100之间定义数据表之间属性值的相互关连,2. 数据依赖一个关系
4、内部属性与属性之间的约束关系现实世界属性间相互联系的抽象数据内在的性质语义的体现,11,什么是数据依赖(续),3.数据依赖的类型函数依赖(Functional Dependency,简记为FD)多值依赖(Multivalued Dependency,简记为MVD)其他,12,五.数据依赖对关系模式的影响,函数依赖:指关系中一个或一组属性的值可以决定其它属性的值函数依赖正象一个函数y=f(x)-x的值给定后,y的值也就唯一地确定了,13,数据依赖对关系模式的影响,例1建立一个描述学校教务的数据库:学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、课程名(Cname)、成绩(G
5、rade)单一的关系模式 :Student USno,Sdept,Mname,Cname,Grade,14,数据依赖对关系模式的影响(续),属性组U上的一组函数依赖F: FSnoSdept,SdeptMname, (Sno,Cname)Grade,函数依赖:一个或一组属性的值可以决定其他属性的值,15,数据依赖对关系模式的影响(续),关系模式 :Student USno,Sdept,Mname,Cname,GradeFSnoSdept,SdeptMname, (Sno,Cname)Grade关系模式Student的一个实例,16,关系模式Student中存在的问题,1. 数据冗余太大2. 更新
6、异常(Update Anomalies)3. 插入异常(Insertion Anomalies)4. 删除异常(Deletion Anomalies),17,关系模式Student中存在的问题,数据冗余太大浪费大量的存储空间 例:每一个系主任的姓名重复出现更新异常(Update Anomalies)数据冗余,更新数据时,维护数据完整性代价大例:某系更换系主任后,须修改与该系学生有关的每个元组,18,关系模式Student中存在的问题,插入异常(Insertion Anomalies)该插的数据插不进去例:若一个系刚成立,尚无学生,就无法存入该系及其系主任的信息删除异常(Deletion Ano
7、malies)不该删除的数据不得不删例:若某个系的学生全部毕业了,则在删除该系学生信息的同时,会把该系及其系主任的信息也同时删除,19,数据依赖对关系模式的影响(续),结论:Student关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常数据冗余应尽可能少原因:模式中的某些数据依赖引起解决方法:分解关系模式,20,分解关系模式,把该模式分解成3个关系模式: S(Sno,Sdept,Sno Sdept); SC(Sno,Cname,Grade,(Sno,Cname)Grade); DEPT(Sdept,Mname,Sdept Mname),关系模式 :Student U
8、Sno,Sdept,Mname,Cname,GradeFSnoSdept,SdeptMname, (Sno,Cname)Grade,21,数据冗余产生原因分析,对多个文件和同一文件中数据之间的联系考虑不周或处理不当 -对数据依赖处理不当,即关系模式本身的结构设计存在缺陷,22,问题的解决思路,先分析和掌握属性间的语义关联,然后再依据这些关联得到相应的设计方案一个模式的函数依赖会有哪些不好的性质,如何改造提出并发展了一套关系数据库模式设计理论与方法-关系模式的规范化理论与技术,23,6.2 规范化,规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异
9、常、更新异常和数据冗余问题。,24,6.2 规范化,6.2.1 函数依赖6.2.2 码6.2.3 范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依赖6.2.8 4NF6.2.9 规范化小结,25,6.2.1 函数依赖,函数依赖函数依赖的三种类型平凡与非平凡函数依赖部分与完全函数依赖传递与直接函数依赖函数依赖与数据冗余,26,一.函数依赖,定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。 -指
10、一个或一组属性的值可以决定其他属性的值,27,说明,所有关系实例均要满足语义范畴的概念数据库设计者可以对现实世界作强制的规定 -刻画关系各属性之间相互制约而又相互依赖的情况,28,二.函数依赖的三种类型,1.平凡与非平凡函数依赖2.部分与完全函数依赖3.传递与直接函数依赖,29,二.函数依赖的三种类型,1.平凡与非平凡函数依赖在关系模式R(U)中,对于U的子集X和Y如果XY,但YX,称XY是非平凡的函数依赖若XY,但YX,则称XY是平凡的函数依赖,30,平凡与非平凡函数依赖(续),例:在关系SC(Sno,Cno,Grade)中,非平凡函数依赖:(Sno, Cno) Grade平凡函数依赖: (
11、Sno, Cno) Sno (Sno, Cno) Cno,31,平凡与非平凡函数依赖(续),若XY,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。若XY,YX,则记作XY。若Y不函数依赖于X,则记作XY。,32,函数依赖与的三种类型,2.部分与完全函数依赖定义6.2 在R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y, 则称Y对X完全函数依赖,记作X F Y。 若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X P Y。,33,完全部分函数依赖(续),例1中(Sno,Cno)Grade是完全函数依赖(Sno,Cno)Sdept是部分函数依
12、赖 -因为SnoSdept成立,且Sno是(Sno,Cno)的真子集,F,P,34,函数依赖与的三种类型,3.传递与直接函数依赖定义6.3 在R(U)中,如果XY,(YX), YX,YZ,ZY,则称Z对X传递函数依赖。记为:XZ 注: 如果YX,即XY,则Z直接依赖于X。,传递,35,传递函数依赖,例: 在关系Std(Sno,Sdept,Mname)中,有:SnoSdept,SdeptSnoSdeptMname-Mname传递函数依赖于Sno,36,三.函数依赖与数据冗余,部分函数依赖存在“冗余属性”传递函数依赖表现“间接”的弱数据依赖,这是产生数据冗余的主要原因 -要消除数据冗余及数据异常现
13、象,就需要处理好关系模式中的部分函数依赖和传递函数依赖,37,6.2.2 码,定义6.4 设K为R中的属性或属性组合。若K U,则K称为R的候选码(Candidate Key)。 若候选码多于一个,则选定其中的一个做为主码(Primary Key)。,F,38,码(续),主属性与非主属性包含在任何一个候选码中的属性,称为主属性(Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(Non-key attribute) 全码整个属性组是码,称为全码(All-key),39,码(续),例2关系模式S(Sno,Sdept,Sage),
14、单个属性Sno是码 SC(Sno,Cno,Grade)中,(Sno,Cno)是码例3关系模式R(P,W,A) P:演奏者 W:作品 A:听众一个演奏者可以演奏多个作品某一作品可被多个演奏者演奏听众可以欣赏不同演奏者的不同作品码为(P,W,A),即All-Key,40,外部码,定义6.5 关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称 X是R的外部码(Foreign key),也称外码例:在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码 主码与外部码一起提供了表示关系间联系的手段,
15、41,6.2.3 范式,范式是符合某一种级别的关系模式的集合关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式范式的种类:,第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF),42,范式,为什么要有关系模式的范式?在关系模式数据模式设计中,为了避免数据依赖引起的数据冗余和更新异常等问题,必须进行关系模式的分解(即关系模式的规范化)。,43,范式,关系模式的规范化设计原则:数据冗余量尽可能小对关系进行插入、删除等操作,不出问题尽量如实反映现实世界的实际情况,且易懂 -满足以上标准就是模式的范式,范式来自英文 Normal
16、 form,简称NF,是符合某个级别的关系模式的集合,44,范式,关系数据库中的关系必须满足最低的关系要求,满足不同程度要求的为不同范式。目前主要有六种范式:1NF、2NF、3NF、BCNF、4NF、5NF。满足最低要求的称第一范式,简称为1NF,45,范 式,范式之间的联系:,某一关系模式R为第n范式,可简记为RnNF。-范式的种类和数据依赖有直接的关系一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫关系的规范化,46,1NF,1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF第一范式是对关系模式的最起码的要求不满足1NF
17、的数据库模式不能称为关系数据库但是满足1NF的关系模式并不一定是一个好的关系模式1NF不能排除数据冗余和更新异常问题,因为其中可能存在部分函数依赖,47,1NF,分解转换后的1NF形式,是个集合,垂直分解用投影运算实现,48,1NF,横向展开为多个属性转换为1NF形式,是个复合结构,49,6.2.4 2NF,2NF的定义若R1NF,且每一个非主属性完全函数依赖于码,则R2NF -每个非主属性是由整个主键函数决定的,而不能由主键的一部分来决定,50,2NF(续),例4关系模式 S-L-C(Sno,Sdept,Sloc,Cno,Grade) 注:Sloc:学生住处,假设每个系的学生住在同一个地方
18、(Sno,Cno) Grade SnoSdept, Sno Sloc, Sdept Sloc码为(Sno, Cno),51,2NF(续),关系模式S-L-C的码为(Sno, Cno)S-L-C满足第一范式函数依赖包括: (Sno,Cno) F Grade SnoSdept,(Sno,Cno) P Sdept Sno Sloc,(Sno,Cno) P Sloc Sdept Sloc-存在非主属性对码的部分函数依赖,52,2NF(续),S-L-C的码为(Sno, Cno)S-L-C满足第一范式。非主属性Sdept和Sloc部分函数依赖于码(Sno,Cno) -S-L-C2NF,S-L-C,53,S
19、-L-C不是一个好的关系模式(续),(1)插入异常(2)删除异常(3)数据冗余度大(4)修改复杂,54,S-L-C不是一个好的关系模式(续),原因 Sdept、Sloc部分函数依赖于码。解决方法 S-L-C分解为两个关系模式,以消除这些部分函数依赖 SC(Sno,Cno,Grade) S-L(Sno,Sdept,Sloc),55,2NF(续),函数依赖图:,关系模式SC的码为(Sno,Cno)关系模式S-L的码为Sno -这样非主属性对码都是完全函数依赖,56,2NF(续),2NF的定义定义6.6 若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。例:S-L-C(Sno,Sdept,S
20、loc,Cno,Grade)1NF S-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF SC(Sno,Cno,Grade)2NF S-L(Sno,Sdept,Sloc)2NF,57,2NF(续),规范化处理过程(1NF2NF)对关系进行投影分解-将一个表分解成若干个表。投影分解法可在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题但投影分解并不能完全消除关系模式中的各种异常情况和数据冗余。,58,2NF(续),不满足2NF的关系模式R存在非主属性对键的部分函数依赖即存在XYY是非主属性X是主键K的真子集,-关系模式R不满足第二范式,第二范式也
21、可能存在数据冗余和更新异常问题,因为其中可能存在传递函数依赖。,59,关于2NF的结论,不存在非主属性的关系模式属于2NF-全码没有非主属性码只由一个属性组成的关系模式属于2NF不会有部分依赖二目关系模式属于2NF 码或只有一个属性,或是全码R属于1NF,但R不一定属于2NF 例: 关系模式R(Sno,Sdept,Sloc,Cno,Grade),60,6.2 规范化,6.2.1 函数依赖6.2.2 码6.2.3 范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依赖6.2.8 4NF6.2.9 规范化小结,61,6.2.5 3NF,3NF的定义定义6.7 关系模式R
22、中若不存在这样的码X、属性组Y及非主属性Z(ZY),使得XY,YZ成立,YX,则称R3NF若R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。,62,3NF(续),例:2NF关系模式S-L(Sno,Sdept,Sloc)中函数依赖:SnoSdept SdeptSno SdeptSloc可得:SnoSloc,即S-L中存在非主属性对码的传递函数依赖因此,S-L2NF S-L3NF,传递,SC(Sno,Cno,Grade)2NFS-L(Sno,Sdept,Sloc)2NF,63,3NF(续),函数依赖图:,T,64,3NF(续),解决方法:投影分解法把S-L分解为两个关系模式 S-D(S
23、no,Sdept) D-L(Sdept,Sloc)-S-D的码为Sno,D-L的码为Sdept分解后的关系模式S-D与D-L中不再存在传递依赖,S-L(Sno,Sdept,Sloc),65,3NF(续),S-D的码为Sno,D-L的码为Sdept,S-L(Sno, Sdept, Sloc)2NFS-L(Sno, Sdept, Sloc)3NF S-D(Sno,Sdept)3NFD-L(Sdept,Sloc)3NF,66,3NF(续),若关系模式R不满足3NF,则其中一定存在非主属性Y对键K的传递依赖特殊情况存在XY,其中Y是非主属性,X是主键K的真子集-实际上是一种基于部分依赖的传递依赖,-非
24、3NF类型之一,67,3NF,满足3NF的表中不存在传递依赖,即没有一个非主属性依赖于另一个非主属性或者说没有一个非主属性决定另一个非主属性,68,关于3NF的结论,不存在非主属性的关系模式属于3NF-全码没有非主属性二目关系模式属于3NF 不会存在传递依赖若R属于3NF,那么R也属于2NFR属于2NF,但R不一定属于3NF 例:关系模式S-L(Sno,Sdept,Sloc),69,6.2.6 BC范式(BCNF),定义6.8 关系模式R1NF,若XY且YX时X必含有码,则RBCNF。-每个函数依赖的左边都是码 等价于:每一个决定因素都包含码若关系模式属于1NF,且每个属性都不部分或传递依赖于
25、侯选码,则R属于BC范式 若关系模式属于3NF,且任何主属性都不部分或传递依赖于侯选码,则R属于BC范式,70,BCNF(续),若RBCNF 所有非主属性对每一个码都是完全函数依赖所有的主属性对每一个不包含它的码,也是完全函数依赖没有任何属性完全函数依赖于非码的任何一组属性结论:如果关系R3NF,R未必属于BCNF,反之,若RBCNF,则必属于3NF。,-每个函数依赖的左边都是码,71,BCNF(续),如果关系R仅包含一个候选码,且R3NF,则R必属于BCNF。如果关系模式RBCNF,必定有R3NF如果R3NF,且R只有一个候选码,则R必属于BCNF。,72,BCNF(续),例5关系模式C(C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 ppt 课件
链接地址:https://www.31ppt.com/p-1428767.html