您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 第6章数据库系统概论(第4版)ppt
本章目标:关系数据理论既是关系数据库的重要理论基础也是数据库逻辑设计的理论指南和有力工具。要掌握规范化理论和优化数据库模式设计的方法。第六章关系数据理论2020/3/282第六章关系数据理论6.1问题的提出6.2规范化6.3数据依赖的公理系统*6.4模式的分解6.5小结3重点和难点重点:了解什么是一个“不好”的数据库模式什么是模式的插入异常和删除异常规范化理论的重要意义掌握数据依赖的基本概念,范式的概念,从1NF到4NF的定义,规范化的含义和作用四个范式的理解与应用,各个级别范式中存在的问题和解决方法。难点:各个级别范式的关系46.1问题的提出一.概念回顾二.问题的提出三.关系模式的形式化定义四.什么是数据依赖五.数据依赖对关系模式影响5一.概念回顾关系关系数据模型关系数据库关系数据模式6二.问题的提出给出一组数据如何构造一个适合于它的关系数据模式使用什么标准来鉴别相应设计合理与否若不合理应如何改进----提出了数据模式的设计问题(关系数据理论)7关系模式的设计问题关系数据库模式是关系模式的集合关系数据库模式={关系模式}关系数据库模式设计就是要确定:有几个关系模式每个关系模式的名称、属性组成域的定义和说明数据完整性的要求等8三.关系模式的形式化定义关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系集合即分别说明它们分别来自哪个域9关系模式的形式化定义关系模式R(U,D,DOM,F)简化为一个三元组:R(U,F)U:组成该关系的属性名集合F:属性间数据的依赖关系集合当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系关系最基本的规范条件:关系的每一个分量必须是一个不可分的数据项----1NF10四.什么是数据依赖1.完整性约束的表现形式限定属性取值范围:例如学生成绩必须在0-100之间定义数据表之间属性值的相互关连2.数据依赖一个关系内部属性与属性之间的约束关系现实世界属性间相互联系的抽象数据内在的性质语义的体现11什么是数据依赖(续)3.数据依赖的类型函数依赖(FunctionalDependency,简记为FD)多值依赖(MultivaluedDependency,简记为MVD)其他12五.数据依赖对关系模式的影响函数依赖:指关系中一个或一组属性的值可以决定其它属性的值函数依赖正象一个函数y=f(x)----x的值给定后,y的值也就唯一地确定了13数据依赖对关系模式的影响[例1]建立一个描述学校教务的数据库:学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、课程名(Cname)、成绩(Grade)单一的关系模式:StudentU、FU={Sno,Sdept,Mname,Cname,Grade}14数据依赖对关系模式的影响(续)属性组U上的一组函数依赖F:F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}SnoCnameSdeptMnameGrade函数依赖:一个或一组属性的值可以决定其他属性的值15数据依赖对关系模式的影响(续)关系模式:StudentU,FU={Sno,Sdept,Mname,Cname,Grade}F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}关系模式Student的一个实例SnoSdeptMnameCnameGradeS1CS张明数据库95S2CS张明数据库90S3CS张明数据库88S4CS张明数据库70…………………………16关系模式StudentU,F中存在的问题1.数据冗余太大2.更新异常(UpdateAnomalies)3.插入异常(InsertionAnomalies)4.删除异常(DeletionAnomalies)17关系模式StudentU,F中存在的问题数据冗余太大浪费大量的存储空间例:每一个系主任的姓名重复出现更新异常(UpdateAnomalies)数据冗余,更新数据时,维护数据完整性代价大例:某系更换系主任后,须修改与该系学生有关的每个元组18关系模式StudentU,F中存在的问题插入异常(InsertionAnomalies)该插的数据插不进去例:若一个系刚成立,尚无学生,就无法存入该系及其系主任的信息删除异常(DeletionAnomalies)不该删除的数据不得不删例:若某个系的学生全部毕业了,则在删除该系学生信息的同时,会把该系及其系主任的信息也同时删除19数据依赖对关系模式的影响(续)结论:Student关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常数据冗余应尽可能少原因:模式中的某些数据依赖引起解决方法:分解关系模式20分解关系模式把该模式分解成3个关系模式:S(Sno,Sdept,Sno→Sdept);SC(Sno,Cname,Grade,(Sno,Cname)→Grade);DEPT(Sdept,Mname,Sdept→Mname)关系模式:StudentU、FU=Sno,Sdept,Mname,Cname,Grade}F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}21数据冗余产生原因分析对多个文件和同一文件中数据之间的联系考虑不周或处理不当----对数据依赖处理不当,即关系模式本身的结构设计存在缺陷22问题的解决思路先分析和掌握属性间的语义关联,然后再依据这些关联得到相应的设计方案一个模式的函数依赖会有哪些不好的性质,如何改造提出并发展了一套关系数据库模式设计理论与方法----关系模式的规范化理论与技术236.2规范化规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。246.2规范化6.2.1函数依赖6.2.2码6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依赖6.2.84NF6.2.9规范化小结256.2.1函数依赖函数依赖函数依赖的三种类型平凡与非平凡函数依赖部分与完全函数依赖传递与直接函数依赖函数依赖与数据冗余26一.函数依赖定义6.1设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。----指一个或一组属性的值可以决定其他属性的值27说明所有关系实例均要满足语义范畴的概念数据库设计者可以对现实世界作强制的规定----刻画关系各属性之间相互制约而又相互依赖的情况28二.函数依赖的三种类型1.平凡与非平凡函数依赖2.部分与完全函数依赖3.传递与直接函数依赖29二.函数依赖的三种类型1.平凡与非平凡函数依赖在关系模式R(U)中,对于U的子集X和Y如果X→Y,但YX,称X→Y是非平凡的函数依赖若X→Y,但YX,则称X→Y是平凡的函数依赖30平凡与非平凡函数依赖(续)例:在关系SC(Sno,Cno,Grade)中,非平凡函数依赖:(Sno,Cno)→Grade平凡函数依赖:(Sno,Cno)→Sno(Sno,Cno)→Cno31平凡与非平凡函数依赖(续)若X→Y,则X称为这个函数依赖的决定属性组,也称为决定因素(Determinant)。若X→Y,Y→X,则记作X←→Y。若Y不函数依赖于X,则记作X→Y。32函数依赖与的三种类型2.部分与完全函数依赖定义6.2在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖,记作XFY。若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作XPY。33完全部分函数依赖(续)[例1]中(Sno,Cno)→Grade是完全函数依赖(Sno,Cno)→Sdept是部分函数依赖----因为Sno→Sdept成立,且Sno是(Sno,Cno)的真子集FP34函数依赖与的三种类型3.传递与直接函数依赖定义6.3在R(U)中,如果X→Y,(YX),Y→X,Y→Z,Z∈Y,则称Z对X传递函数依赖。记为:X→Z注:如果Y→X,即X←→Y,则Z直接依赖于X。传递35传递函数依赖例:在关系Std(Sno,Sdept,Mname)中,有:Sno→Sdept,Sdept→SnoSdept→Mname----Mname传递函数依赖于Sno36三.函数依赖与数据冗余部分函数依赖存在“冗余属性”传递函数依赖表现“间接”的弱数据依赖,这是产生数据冗余的主要原因----要消除数据冗余及数据异常现象,就需要处理好关系模式中的部分函数依赖和传递函数依赖376.2.2码定义6.4设K为RU,F中的属性或属性组合。若KU,则K称为R的候选码(CandidateKey)。若候选码多于一个,则选定其中的一个做为主码(PrimaryKey)。F38码(续)主属性与非主属性包含在任何一个候选码中的属性,称为主属性(Primeattribute)不包含在任何码中的属性称为非主属性(Nonprimeattribute)或非码属性(Non-keyattribute)全码整个属性组是码,称为全码(All-key)39码(续)[例2]关系模式S(Sno,Sdept,Sage),单个属性Sno是码SC(Sno,Cno,Grade)中,(Sno,Cno)是码[例3]关系模式R(P,W,A)P:演奏者W:作品A:听众一个演奏者可以演奏多个作品某一作品可被多个演奏者演奏听众可以欣赏不同演奏者的不同作品码为(P,W,A),即All-Key40外部码定义6.5关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreignkey),也称外码例:在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码主码与外部码一起提供了表示关系间联系的手段416.2.3范式范式是符合某一种级别的关系模式的集合关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式范式的种类:第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF)42范式为什么要有关系模式的范式?在关系模式数据模式设计中,为了避免数据依赖引起的数据冗余和更新异常等问题,必须进行关系模式的分解(即关系模式的规范化)。43范式关系模式的规范化设计原则:数据冗余量尽可能小对关系进行插入、删除等操作,不出问题尽量如实反映现实世界的实际情况,且易懂----满足以上标准就是模式的范式,范式来自英文Normalform,简称NF,是符合某个级别的关系模式的集合44范式关系数据库中的关系必须满足最低的关系要求,满足不同程度要求的为不同范式。目前主要有六种范式:1NF、2NF、3NF、BCNF、4NF、5NF。满足最低要求的称第一范式,简称为1NF45范式范式之间的联系:NF5NF4BCNFNF3NF2NF1某一关系模式R为第n范式,可简记为R∈nNF。----范式的种类和数据依赖有直接的关系一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫关系的规范化461NF1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF第一范式是对关系模式的最起码的要求不满足1NF的数据库模式不能称为关系数据库但是满足1NF的关系模式并不一定是一个好的关系模式1NF不能排除数据冗余和更新异
本文标题:第6章数据库系统概论(第4版)ppt
链接地址:https://www.777doc.com/doc-4610427 .html