数据库范式课堂课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库范式课堂课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 范式 课堂 课件
- 资源描述:
-
1、1An Introduction to Database System 广东工业大学广东工业大学 计算机学院计算机学院数据库系统概论数据库系统概论An Introduction to Database System第六章第六章 关系数据理论关系数据理论2An Introduction to Database Systemv 内容概述内容概述 详细讲解关系数据理论,主要是关系数据库规范化理论。包括关系数据库逻辑设计可能出现的问题,数据依赖的基本概念(包括,函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念;码、候选码、外码的概念;多值依赖的概念),范式的概念
2、、1NF、2NF、3NF、BCNF、4NF的概念和判定方法。数据依赖的Armstrong公理系统。本章内容分为基本要求部分(概论6.1-6.3)和高级部分(概论6.4)。前者是计算机大学本科学生应该掌握的内容。后者是研究生应该学习掌握的内容。本章目标本章目标关系数据理论既是关系数据库的重要理论基础也是数据库逻辑设计的理论指南和有力工具。要掌握规范化理论和优化数据库模式设计的方法规范化理论和优化数据库模式设计的方法。3An Introduction to Database Systemv 重点:重点:了解什么是一个“不好”的数据库模式。什么是模式的插入异常和删除异常。规范化理论的重要意义。牢固掌
3、握数据依赖的基本概牢固掌握数据依赖的基本概念,范式的概念,从念,范式的概念,从1NF到到4NF的定义,规范化的含义和作用的定义,规范化的含义和作用。需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法。v 难点:难点:能够根据应用语义,完整地写出关系模式的数据依赖集合,并能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式能根据数据依赖分析某一个关系模式属于第几范式。各个级别范式的关系及其证明。本章内容的理论性较强。要通过具体例子和习题练习理解和掌握理论知识。4An Introduction to
4、 Database System第六章第六章 关系数据理论关系数据理论6.1 问题的提出问题的提出6.2 规范化规范化6.3 数据依赖的公理系统数据依赖的公理系统*6.4 模式的分解模式的分解6.5 小结小结5An Introduction to Database System6.1 问题的提出问题的提出关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设计的工具关系数据库的规范化理论6An Introduction to Database System问题的提出问题的提出一、概念回顾一、概念回顾二、关系模式的形式化定义二、关系模式的形式化定义三、什么是数据依赖三、什
5、么是数据依赖四、关系模式的简化定义四、关系模式的简化定义五、数据依赖对关系模式影响五、数据依赖对关系模式影响7An Introduction to Database System一、概念回顾一、概念回顾v 关系关系v 关系模式关系模式v 关系数据库关系数据库v 关系数据库的模式关系数据库的模式8An Introduction to Database System二、关系模式的形式化定义二、关系模式的形式化定义关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名 U:组成该关系的属性名集合 D:属性组U中属性所来自的域 DOM:属性向域的映象集合 F:属性间数据的依赖关系集
6、合属性间数据的依赖关系集合9An Introduction to Database System三、什么是数据依赖三、什么是数据依赖?1.完整性约束的表现形式完整性约束的表现形式v 限定属性取值范围限定属性取值范围:例如学生成绩必须在0-100之间v 定义属性值间的相互关连定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键10An Introduction to Database System什么是数据依赖(续)什么是数据依赖(续)2.数据依赖数据依赖v一个关系内部一个关系内部 属性与属性之间属性与属性之间 的约束关系的约束关系v现实世界现实世界,一个事
7、物内部属性间相互联系的抽象一个事物内部属性间相互联系的抽象v数据内在的性质v语义的体现11An Introduction to Database System什么是数据依赖(续)什么是数据依赖(续)3.数据依赖的类型 共有三种共有三种:函数依赖(函数依赖(Functional Dependency,简记为,简记为FD)多值依赖(多值依赖(Multivalued Dependency,简记为,简记为MVD)连接依赖(连接依赖(Join Dependency,简记为简记为JD)其中最重要的是函数依赖和多值依赖。其中最重要的是函数依赖和多值依赖。12An Introduction to Databa
8、se System四、关系模式的简化表示四、关系模式的简化表示v 关系模式R(U,D,DOM,F)简化为一个三元组:R(U,F)v 当且仅当U上的一个关系r满足F时,r称为关系模式 R(U,F)的一个关系13An Introduction to Database System五、五、数据依赖对关系模式的影响数据依赖对关系模式的影响例例1建立一个描述学校教务的表:建立一个描述学校教务的表:学生的学号(Sno)、所在系(Sdept)、系主任姓名(Mname)、课程名(Cname)、成绩(Grade)单一的关系模式:Student U Sno,Sdept,Mname,Cname,Grade 问题:什
9、么样的关系模式是一个好的关系模式?问题:什么样的关系模式是一个好的关系模式?14An Introduction to Database System数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)根据根据语义分析语义分析属性组属性组U上的一组函数依赖上的一组函数依赖F:F Sno Sdept,Sdept Mname,(Sno,Cname)Grade SnoCnameSdeptMnameGrade15An Introduction to Database System关系模式关系模式Student中存在的问题中存在的问题1.数据冗余太大2.更新异常(Update Anomalies)
10、3.插入异常(Insertion Anomalies)4.删除异常(Deletion Anomalies)16An Introduction to Database System数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)结论:结论:nStudent关系模式不是一个好的模式。关系模式不是一个好的模式。n“好好”的模式:不会发生插入异常、删除异常、更新的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少异常,数据冗余应尽可能少原因:原因:由存在于模式中的由存在于模式中的某些数据依赖某些数据依赖引起的引起的解决方法:解决方法:通过通过分解关系模式分解关系模式来消除其中不
11、合适的数据依赖来消除其中不合适的数据依赖17An Introduction to Database System分解关系模式分解关系模式v把这个单一模式分成把这个单一模式分成3个关系模式:个关系模式:1.S(Sno,Sdept,Sno Sdept);2.SC(Sno,Cno,Grade,(,(Sno,Cno)Grade);3.DEPT(Sdept,Mname,Sdept Mname)18An Introduction to Database System第六章第六章 关系数据理论关系数据理论6.1 问题的提出问题的提出6.2 规范化规范化6.3 数据依赖的公理系统数据依赖的公理系统*6.4 模
12、式的分解模式的分解6.5 小结小结19An Introduction to Database System6.2 规范化规范化 规范化理论规范化理论 正是用来正是用来评价、改造关系模式评价、改造关系模式,通过分解关系模式通过分解关系模式来消除其中不合适的数据依赖来消除其中不合适的数据依赖,以解决插入异常、删除异,以解决插入异常、删除异常、更新异常和数据冗余问题。常、更新异常和数据冗余问题。20An Introduction to Database System6.2 规范化规范化6.2.1 函数依赖函数依赖6.2.2 码码6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BC
13、NF6.2.7 多值依赖多值依赖6.2.8 4NF6.2.9 规范化小结规范化小结21An Introduction to Database System6.2.1 函数依赖函数依赖v函数依赖函数依赖 平凡函数依赖平凡函数依赖 与与 非平凡函数依赖非平凡函数依赖 完全函数依赖完全函数依赖 与与 部分函数依赖部分函数依赖 传递函数依赖传递函数依赖22An Introduction to Database System引例引例v 关系模式内部各属性间的依赖关系关系模式内部各属性间的依赖关系 在在student(sno,sname,sex,dept)中,姓名可能重名。中,姓名可能重名。属性属性sno
14、、sname之间存在关系:之间存在关系:sname=f(sno)或或 sno sname此时,任意两个元组,如果在此时,任意两个元组,如果在sno分量上的值不同,则在分量上的值不同,则在sname分量上的值也一定不相同。分量上的值也一定不相同。类似的关系在其它元组中还存在,如类似的关系在其它元组中还存在,如sno sname、sno dept等。等。23An Introduction to Database System一、函数依赖一、函数依赖定义定义6.1 设设R(U)是一个属性集是一个属性集U上的关系模式,上的关系模式,X和和Y是是U的的子集子集。若对于若对于R(U)的的任意任意一个可能的
15、关系一个可能的关系r,r中不可能存在两中不可能存在两个元组在个元组在X上的属性值相等,上的属性值相等,而在而在Y上的属性值不等上的属性值不等,则则称称“X函数确定函数确定Y”或或 “Y函数依赖于函数依赖于X”,记作,记作XY。即:由即:由X上的值可以确定上的值可以确定Y上的值。上的值。思考:为什么概念不表述为思考:为什么概念不表述为“r r中两个元组如果在中两个元组如果在X X上的属性值相上的属性值相 等,等,则在则在Y Y上的属性值也相等上的属性值也相等”?24An Introduction to Database System说明说明 1.关系模式需要满足的关系模式需要满足的即所有关系实例
16、即所有关系实例均要满足,而不是某一关系满足均要满足,而不是某一关系满足2.语义范畴语义范畴的概念的概念3.数据库数据库设计者可以设计者可以对现实世界作对现实世界作强制的规定强制的规定 如规定:姓名不能重名等如规定:姓名不能重名等25An Introduction to Database System二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖在关系模式在关系模式R(U)中,对于中,对于U的的子集子集X和和Y,如果如果XY,但,但Y X,则称,则称XY是非平凡的函数依赖是非平凡的函数依赖若若XY,但,但Y X,则称则称XY是是平凡的函数依赖平凡的函数依赖v 例:在关系例:在关
17、系SC(Sno,Cno,Grade)中,中,非平凡函数依赖:非平凡函数依赖:(Sno,Cno)Grade 平凡函数依赖:平凡函数依赖:(Sno,Cno)Sno (Sno,Cno)CnoP173 约定:约定:若不特别声明,总是讨论若不特别声明,总是讨论非非 平凡函数依赖平凡函数依赖。26An Introduction to Database System平凡函数依赖与非平凡函数依赖(续)平凡函数依赖与非平凡函数依赖(续)若若XY,则,则X称为这个函数依赖的决定属性组,也称为这个函数依赖的决定属性组,也称为称为决定因素决定因素(Determinant)。)。若若XY,YX,则记作,则记作XY。若若
18、Y不函数依赖于不函数依赖于X,则记作,则记作XY。27An Introduction to Database System三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖定义定义6.2 在在R(U)中,如果中,如果XY,并且对于,并且对于X的的任何一个真任何一个真子集子集X,都有,都有X Y,则称则称Y对对X完全函数依赖完全函数依赖,记作,记作 X F Y。若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X部分函数部分函数依赖依赖,记作,记作X P Y。思考:平凡函数依赖与部分函数依赖之间的关系?思考:平凡函数依赖与部分函数依赖之间的关系?28An Intro
19、duction to Database System完全函数依赖与部分函数依赖(续)完全函数依赖与部分函数依赖(续)例例1 中中(Sno,Cno)Grade是完全函数依赖,是完全函数依赖,(Sno,Cno)Sdept是部分函数依赖:是部分函数依赖:因为因为Sno Sdept成立,且成立,且Sno是(是(Sno,Cno)的真子集)的真子集FP29An Introduction to Database System四、传递函数依赖四、传递函数依赖定义定义6.3 在在R(U)中,如果中,如果XY,(Y X),YX,YZ,Z Y则称则称Z对对X传递函数依赖。记为:传递函数依赖。记为:X Z 注注:1)
20、Y X:强调是非平凡函数:强调是非平凡函数 依赖,进而排除了部分函数依赖。依赖,进而排除了部分函数依赖。2)YX:如果:如果YX,即即XY,则,则Z直接依赖于直接依赖于X。3)Z Y:例例:在关系在关系Std(Sno,Sdept,Mname)中,有:中,有:Sno Sdept,Sdept Mname Mname传递函数依赖于传递函数依赖于Sno传递传递30An Introduction to Database System6.2 规范化规范化6.2.1 函数依赖函数依赖6.2.2 码码6.2.3 范式范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依赖多值依赖6.2
21、.8 4NF6.2.9 规范化小结规范化小结31An Introduction to Database System6.2.2 码码定义定义6.4 设设K为为R中的中的属性或属性组合属性或属性组合。若。若K U,则则K称为称为R的的侯选码侯选码(Candidate Key)。)。若候选码多于一个,则选定其中的一个做为主码(Primary Key)。F注意:注意:K U 的理解。的理解。F【引理引理】X AAA成立的充要条件是成立的充要条件是X Ai成立。(成立。(i=1、2 n)32An Introduction to Database System码(续)码(续)v 主属性与非主属性主属性与
22、非主属性 包含在任何一个候选码中的属性,称为主属性主属性(Prime attribute)不包含在任何码中的属性称为非主属性非主属性(Nonprime attribute)或非码属性(Non-key attribute)v 全码全码 整个属性组是码,称为全码全码(All-key)33An Introduction to Database System码(续)码(续)例2 关系模式S(Sno,Sdept,Sage),单个属性Sno是码,SC(Sno,Cno,Grade)中,(Sno,Cno)是码例3 关系模式R(P,W,A)P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品 某一作品可被
23、多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key 34An Introduction to Database System外部码外部码定义定义6.5 关系模式关系模式 R 中属性或属性组中属性或属性组X 并非并非 R的码,但的码,但 X 是另一个关系模式的码,则称是另一个关系模式的码,则称 X 是是R 的的外部码外部码(Foreign key)也称外码也称外码v 如在SC(Sno,Cno,Grade)中,Sno不是码,但Sno是关系模式S(Sno,Sdept,Sage)的码,则Sno是关系模式SC的外部码 v 主码与外部码一起提供了表示关系间联系的手段35
24、An Introduction to Database System补充:由函数依赖求候选码补充:由函数依赖求候选码v 属性根据函数 依赖集可分成四类:L类:仅出现在类:仅出现在F中函数依赖左部的属性。中函数依赖左部的属性。R类:仅出现在类:仅出现在F中函数依赖右部的属性。中函数依赖右部的属性。LR类:函数依赖左右两边都出现的属性。类:函数依赖左右两边都出现的属性。N类:函数依赖左右两边都不出现的属性。类:函数依赖左右两边都不出现的属性。【定理定理】对于给定的关系模式及其函数依赖集对于给定的关系模式及其函数依赖集F,X U X是是L类属性,则类属性,则X必定为任一候选码的成员;必定为任一候选码
25、的成员;X是是R类属性,则类属性,则X必定不在任何候选码中;必定不在任何候选码中;X是是LR类属性,则类属性,则X可能在某一候选码中,也可能不在任一候选码中。可能在某一候选码中,也可能不在任一候选码中。若若X是是N类属性,则类属性,则X必定在必定在R的任一候选码中;的任一候选码中;36An Introduction to Database Systemv 例:已知关系模式的函数依赖集例:已知关系模式的函数依赖集F,求关系模式的候选码。,求关系模式的候选码。1)设关系模式为)设关系模式为 R,UA,B,C,D,E,P,FAD,ED,DB,BCD,DCA 2)关系模式)关系模式W(I,J,K,X,
展开阅读全文