数据库清华版4章关系数据库设计理论ppt课件.ppt
《数据库清华版4章关系数据库设计理论ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据库清华版4章关系数据库设计理论ppt课件.ppt(138页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库清华版4章关系数据库设计理论ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第4章章关系数据库设计理论关系数据库设计理论4.1数据依赖数据依赖4.2范式范式4.3关系模式的规范化关系模式的规范化第第4章章关系数据库设计理论关系数据库设计理论4.1数据依赖数据依赖4.2范式范式4.3关系模式的规范化关系模式的规范化4.1数据依赖数据依赖内容提要内容提要l什么是数据依赖什么是数据依赖l数据依赖对关系模式有什么影响数据依赖对关系模式有什么影响l数据依赖
2、的形式化定义数据依赖的形式化定义4.1数据依赖数据依赖4.1.1关系模式中的数据依赖关系模式中的数据依赖4.1.2数据依赖对关系模式的影响数据依赖对关系模式的影响4.1.3有关概念有关概念4.1数据依赖数据依赖4.1.1关系模式中的数据依赖关系模式中的数据依赖4.1.2数据依赖对关系模式的影响数据依赖对关系模式的影响4.1.3有关概念有关概念4.1.1关系模式中的数据依赖关系模式中的数据依赖一、概念回顾一、概念回顾二、关系模式的形式化定义二、关系模式的形式化定义三、什么是数据依赖三、什么是数据依赖四、关系模式的简化表示四、关系模式的简化表示一、概念回顾一、概念回顾l关系关系:描述实体及其属性、
3、实体间的联系。:描述实体及其属性、实体间的联系。从形式上看,它是一张二维表,是所涉及属从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。性的笛卡尔积的一个子集。l关系模式关系模式:用来定义关系。:用来定义关系。l关系数据库关系数据库:基于关系模型的数据库,利用关:基于关系模型的数据库,利用关系来描述现实世界。系来描述现实世界。从形式上看,它由一组关系组成。从形式上看,它由一组关系组成。l关系数据库的模式关系数据库的模式:定义这组关系的关系模式:定义这组关系的关系模式的全体。的全体。二、关系模式的形式化定义二、关系模式的形式化定义关系模式由五部分组成,即它是一个五元组:关系模式由五部
4、分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名关系名U:组成该关系的属性名集合组成该关系的属性名集合D:属性组属性组U中属性所来自的域中属性所来自的域DOM:属性向域的映象集合:属性向域的映象集合F:属性间数据的依赖关系集合。即限定属性间数据的依赖关系集合。即限定了组成关系的各个元组必须满足的完了组成关系的各个元组必须满足的完整性约束条件整性约束条件。三、什么是数据依赖三、什么是数据依赖1.完整性约束的表现形式完整性约束的表现形式l限定属性取值范围:例如学生成绩必须限定属性取值范围:例如学生成绩必须在在0-100之间之间l定义属性值间的相互关连(主要体现于定义属性值间的相互关连(
5、主要体现于值的相等与否),这就是数据依赖,它值的相等与否),这就是数据依赖,它是数据库模式设计的关键是数据库模式设计的关键。什么是数据依赖(续)什么是数据依赖(续)2.数据依赖数据依赖l是通过一个关系中属性间值的相等与否是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系体现出来的数据间的相互关系l是现实世界属性间相互联系的抽象是现实世界属性间相互联系的抽象l是数据内在的性质是数据内在的性质l是语义的体现是语义的体现什么是数据依赖(续)什么是数据依赖(续)3.数据依赖的主要类型数据依赖的主要类型l函数依赖(函数依赖(FunctionalDependency,简,简记为记为FD)l多值依
6、赖(多值依赖(MultivaluedDependency,简,简记为记为MVD)l连接依赖连接依赖四、关系模式的简化表示四、关系模式的简化表示在关系模式在关系模式R(U,D,DOM,F)中,影响数中,影响数据库模式设计的主要是据库模式设计的主要是U和和F,D和和DOM对其影响不大,为了方便讨论,我们将对其影响不大,为了方便讨论,我们将关系模式简化为一个三元组:关系模式简化为一个三元组:R(U,F)当且仅当当且仅当U上的一个关系上的一个关系r满足满足F时,时,r称称为关系模式为关系模式R(U,F)的一个关系。的一个关系。5.1数据依赖数据依赖5.1.1关系模式中的数据依赖关系模式中的数据依赖5.
7、1.2数据依赖对关系模式的影响数据依赖对关系模式的影响5.1.3有关概念有关概念5.1.2数据依赖对关系模式的影响数据依赖对关系模式的影响例:建立一个描述学校的数据库。例:建立一个描述学校的数据库。涉及的对象包括:涉及的对象包括:学生的学号(学生的学号(Sno)所在系(所在系(Sdept)系主任姓名(系主任姓名(Mname)课程名(课程名(Cname)成绩(成绩(Grade)数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)假设学校的数据库模式由一个单一的关假设学校的数据库模式由一个单一的关系模式系模式Student构成,构成,则该关系模式的属性集合为:则该关系模式的属性集合为:U
8、Sno,Sdept,Mname,Cname,Grade 数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)现实世界的已知事实告诉我们:现实世界的已知事实告诉我们:一个系有若干学生,一个系有若干学生,但一个学生只属于一但一个学生只属于一个系;个系;一个系只有一名主任;一个系只有一名主任;一个学生可以选修多门课程,一个学生可以选修多门课程,每门课程有每门课程有若干学生选修;若干学生选修;每个学生所学的每门课程都有一个成绩。每个学生所学的每门课程都有一个成绩。数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)由此可得到属性组由此可得到属性组U上的一组函数依赖上的一组函数依赖F:F
9、SnoSdept,SdeptMname,(Sno,Cname)Grade SnoCnameSdeptMnameGrade数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)关系模式关系模式Student中存在的问题:中存在的问题:数据冗余太大数据冗余太大浪费大量的存储空间浪费大量的存储空间例:每一个系主任的姓名重复出现,重复次数例:每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。与该系所有学生的所有课程成绩出现次数相同。数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)更新异常(更新异常(UpdateAnomalies)数据冗余数据冗余,更新数据
10、时,维护数据完整性代更新数据时,维护数据完整性代价大。价大。例:某系更换系主任后,系统必须修改与该系例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组。学生有关的每一个元组。数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)插入异常(插入异常(InsertionAnomalies)该插的数据插不进去该插的数据插不进去例,如果一个系刚成立,尚无学生,我们就无例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。法把这个系及其系主任的信息存入数据库。数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)删除异常(删除异常(DeletionAnoma
11、lies)不该删除的数据不得不删不该删除的数据不得不删例,如果某个系的学生全部毕业了,例,如果某个系的学生全部毕业了,我们在删我们在删除该系学生信息的同时,把这个系及其系主任除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。的信息也丢掉了。数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)结论:结论:Student关系模式不是一个好的模式。关系模式不是一个好的模式。一个一个“好好”的模式应当不会发生插入异常、的模式应当不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。删除异常、更新异常,数据冗余应尽可能少。原因:原因:由存在于模式中的某些数据依赖引起的。由存在于模式中的
12、某些数据依赖引起的。解决方法:解决方法:通过分解关系模式来消除其中不合适通过分解关系模式来消除其中不合适的数据依赖。的数据依赖。数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)规范化理论规范化理论正是用来改造关系模式,通正是用来改造关系模式,通过分解关系模式来消除其中不合适的数过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。更新异常和数据冗余问题。5.1数据依赖数据依赖5.1.1关系模式中的数据依赖关系模式中的数据依赖5.1.2数据依赖对关系模式的影响数据依赖对关系模式的影响5.1.3有关概念有关概念5.
13、1.3有关概念有关概念一、函数依赖一、函数依赖二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖四、传递函数依赖五、码五、码一、函数依赖一、函数依赖定义定义5.1设设R(U)是一个属性集是一个属性集U上的关系模上的关系模式,式,X和和Y是是U的子集。若对于的子集。若对于R(U)的任的任意一个可能的关系意一个可能的关系r,r中不可能存在两中不可能存在两个元组在个元组在X上的属性值相等,上的属性值相等,而在而在Y上的上的属性值不等,属性值不等,则称则称“X函数确定函数确定Y”或或“Y函数依赖于函数依赖于X”,
14、记作,记作XY。X称为这个称为这个函数依赖的函数依赖的决定属性集决定属性集(Determinant)。函数依赖(续)函数依赖(续)说明:说明:1.函数依赖不是指关系模式函数依赖不是指关系模式R的某个或某些关系的某个或某些关系实例满足的约束条件,而是指实例满足的约束条件,而是指R的所有关系实的所有关系实例均要满足的约束条件。例均要满足的约束条件。2.函数依赖是语义范畴的概念。只能根据数据的函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。语义来确定函数依赖。例如例如“姓名姓名年龄年龄”这个函数依赖只有在不允这个函数依赖只有在不允许有同名人的条件下成立许有同名人的条件下成立函数依赖(续)
15、函数依赖(续)3.数据库设计者可以对现实世界作强制的规定。数据库设计者可以对现实世界作强制的规定。例如设计者可以强行规定不允许同名人出现,例如设计者可以强行规定不允许同名人出现,因而使函数依赖因而使函数依赖“姓名姓名年龄年龄”成立。但所插成立。但所插入的元组必须满足规定的函数依赖,若发现有入的元组必须满足规定的函数依赖,若发现有同名人存在,同名人存在,则拒绝装入该元组。则拒绝装入该元组。4.若若XY,并且,并且YX,则记为则记为XY。5.若若Y不函数依赖于不函数依赖于X,则记为则记为XY。函数依赖(续)函数依赖(续)例例:Student(Sno,Sname,Ssex,Sage,Sdept)假设
16、不允许重名,则有假设不允许重名,则有:SnoSsex,SnoSageSnoSdept,SnoSnameSnameSsex,SnameSageSnameSdept但但SsexSage,SsexSdept,二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖定义定义5.2在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,如果,如果XY,但,但Y X,则称,则称XY是是非平凡的函数依赖非平凡的函数依赖。若。若XY,但但Y X则称则称XY是是平凡的函数依赖平凡的函数依赖。例:在关系例:在关系SC(Sno,Cno,Grade)中,中,非平凡函数依赖:非平凡函数依赖:(Sno
17、,Cno)Grade平凡函数依赖:平凡函数依赖:(Sno,Cno)Sno(Sno,Cno)Cno平凡函数依赖与非平凡函数依赖(续)平凡函数依赖与非平凡函数依赖(续)对于任一关系模式,平凡函数依赖都对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,是必然成立的,它不反映新的语义,因此若不特别声明,因此若不特别声明,我们总是讨论非我们总是讨论非平凡函数依赖平凡函数依赖。三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖定义定义5.3在关系模式在关系模式R(U)中,如果中,如果XY,并且对于并且对于X的任何一个真子集的任何一个真子集X,都有,都有XY,则称则称Y完全函数依赖于
18、完全函数依赖于X,记作,记作XY。若。若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y部分函数依赖部分函数依赖于于X,记作,记作XPY。完全函数依赖与部分函数依赖(续)完全函数依赖与部分函数依赖(续)例例:在关系在关系SC(Sno,Cno,Grade)中,有:中,有:由于:由于:SnoGrade,CnoGrade,因此:因此:(Sno,Cno)Grade但:但:(Sno,Cno)PSno,(Sno,Cno)PCno完全函数依赖与部分函数依赖(续)完全函数依赖与部分函数依赖(续)非平凡函数依赖必定是部分函数依赖非平凡函数依赖必定是部分函数依赖平凡函数依赖也可能是部分函数依赖平凡函
19、数依赖也可能是部分函数依赖例例:Student(Sno,Sname,Ssex,Sage,Sdept)SnoSname,SnoSsex,SnoSage,SnoSdept(Sno,Sname)PSdept,(Sno,Ssex)PSdept四、传递函数依赖四、传递函数依赖定义定义5.4在关系模式在关系模式R(U)中,如果中,如果XY,YZ,且,且Y X,YX,则称,则称Z传递函数依赖传递函数依赖于于X。注注:如果如果YX,即即XY,则,则Z直接依赖直接依赖于于X。例例:在关系在关系Std(Sno,Sdept,Mname)中,有:中,有:SnoSdept,SdeptMname,Mname传递传递函数依
20、赖于函数依赖于Sno。五、码五、码定义定义5.5设设K为关系模式为关系模式R中的属性或属性中的属性或属性组合。若组合。若KU,则,则K称为称为R的一个的一个侯选码侯选码(CandidateKey)。若关系模式)。若关系模式R有多个候选有多个候选码,则选定其中的一个做为码,则选定其中的一个做为主码主码(Primarykey)。)。l码是关系模式中一个重要概念。码是关系模式中一个重要概念。候选码能够唯一地标别关系的元组,是关系候选码能够唯一地标别关系的元组,是关系模式中一组最重要的属性。模式中一组最重要的属性。主码又和外部码一起提供了一个表示关系间主码又和外部码一起提供了一个表示关系间联系的手段联
21、系的手段。第第4章章关系数据库设计理论关系数据库设计理论4.1数据依赖数据依赖4.2范式范式4.3关系模式的规范化关系模式的规范化4.2范式范式4.2.1第一范式(第一范式(1NF)4.2.2第二范式(第二范式(2NF)4.2.3第三范式(第三范式(3NF)4.2.4BC范式(范式(BCNF)4.2.5多值依赖与第四范式(多值依赖与第四范式(4NF)4.2范式范式l范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。l关系数据库中的关系必须满足一定的要求。满关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。足不同程度要求的为不同范式。l范式的种类:范式
22、的种类:第一范式第一范式(1NF)第二范式第二范式(2NF)第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(5NF)范式(续)范式(续)l各种范式之间存在联系:各种范式之间存在联系:l某一关系模式某一关系模式R为第为第n范式,可简记范式,可简记为为RnNF。4.2范式范式4.2.1第一范式(第一范式(1NF)4.2.2第二范式(第二范式(2NF)4.2.3第三范式(第三范式(3NF)4.2.4BC范式(范式(BCNF)4.2.5多值依赖与第四范式(多值依赖与第四范式(4NF)4.2.1第一范式(第一范式(1NF)l1NF的定义的定义定义定义5.6如
23、果一个关系模式如果一个关系模式R的所有属性都是的所有属性都是不可分的基本数据项,则不可分的基本数据项,则R1NF。l第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。足第一范式的数据库模式不能称为关系数据库。l但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个好的关系模式。好的关系模式。第一范式(续)第一范式(续)例例:关系模式关系模式SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一为学生住处,假设每个系的学生住在同一个地方。个地方。l函数
24、依赖包括:函数依赖包括:(Sno,Cno)fGradeSnoSdept(Sno,Cno)PSdeptSnoSloc(Sno,Cno)PSlocSdeptSloc第一范式(续)第一范式(续)lSLC的码为的码为(Sno,Cno)SnoCnoGradeSdeptSlocSLC第一范式(续)第一范式(续)l结论结论:1.SLC满足第一范式。满足第一范式。2.非主属性非主属性Sdept和和Sloc部分函数依赖于码部分函数依赖于码(Sno,Cno)。lSLC存在的问题存在的问题(1)插入异常插入异常假设假设Sno95102,SdeptIS,SlocN的学生还未的学生还未选课,因课程号是主属性,因此该学生
25、的信息无法选课,因课程号是主属性,因此该学生的信息无法插入插入SLC。第一范式(续)第一范式(续)(2)删除异常删除异常假定某个学生本来只选修了假定某个学生本来只选修了3号课程这一门号课程这一门课。现在因身体不适,他连课。现在因身体不适,他连3号课程也不选号课程也不选修了。因课程号是主属性,此操作将导致该修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。学生信息的整个元组都要删除。(3)数据冗余度大数据冗余度大如果一个学生选修了如果一个学生选修了10门课程,那么他的门课程,那么他的Sdept和和Sloc值就要重复存储了值就要重复存储了10次。次。第一范式(续)第一范式(续)(4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 清华 关系 设计 理论 ppt 课件
限制150内