《规范化理论》PPT课件.ppt
《《规范化理论》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《规范化理论》PPT课件.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统概论数据库系统概论An Introduction to Database Systems第六章第六章关系数据理论关系数据理论6.1问题的提出问题的提出6.2规范化规范化6.3数据依赖的公理系统数据依赖的公理系统*6.4模式的分解模式的分解6.5小结小结教学基本要求:教学基本要求:了解并掌握关系的规范化原理与过程了解并掌握关系的规范化原理与过程重点:重点:函数依赖函数依赖 1NF 2NF 3NF BCNF难点:规范过程难点:规范过程 6.1问题的提出问题的提出关系数据库逻辑设计关系数据库逻辑设计n针针对对具具体体问问题题,如如何何构构造造一一个个适适合合于于它它的数据模式的数据模式n数
2、数据据库库逻逻辑辑设设计计的的工工具具关关系系数数据据库库的规范化理论的规范化理论(1)元组的每个分量必须是不可分的数据项。元组的每个分量必须是不可分的数据项。(2)数据库中的数据冗余应尽量的少数据库中的数据冗余应尽量的少,数据库中不必数据库中不必要的重复存储就是数据冗余(要尽量避免)。要的重复存储就是数据冗余(要尽量避免)。(3)关系数据库不能因为数据更新操作而引起数据关系数据库不能因为数据更新操作而引起数据不一致不一致,由于数据的重复存储,会给更新带来很由于数据的重复存储,会给更新带来很多麻烦。可能会导致多麻烦。可能会导致 数据不一致,这将直接影数据不一致,这将直接影响系统的质量。响系统的
3、质量。关系模式基本要求关系模式基本要求(4)插入数据时,不能出现插入异常。插入数据时,不能出现插入异常。(5)插入元组时出现不能插入的一些不合理插入元组时出现不能插入的一些不合理现象(语义问题、逻辑错误)。现象(语义问题、逻辑错误)。(6)删除数据时删除数据时,不能出现删除异常。不能出现删除异常。(7)数据库设计应考虑查询的要求,数据组数据库设计应考虑查询的要求,数据组织要合理。织要合理。例例o现在需要建立一个学校的教学管理数据库,涉现在需要建立一个学校的教学管理数据库,涉及的内容包括:学生学号(及的内容包括:学生学号(SNO),学生姓名),学生姓名(SNAME),),所在系名(所在系名(SD
4、EPT),系),系主任名(主任名(MNAME),所选修课名(),所选修课名(CNAME)及)及成绩(成绩(GRADE)。假设该数据库由一个)。假设该数据库由一个单一关系模式单一关系模式Student构成,则该关系模式的构成,则该关系模式的属性集合为:属性集合为:oS(SNO,SNAME,SDEPT,MNAME,CNAME,GRADE)上述关系模式虽然可以存储学生、学生所在的系、系主任上述关系模式虽然可以存储学生、学生所在的系、系主任上述关系模式虽然可以存储学生、学生所在的系、系主任上述关系模式虽然可以存储学生、学生所在的系、系主任以及学生的选课和成绩等情况,但其存在四个主要的以及学生的选课和成
5、绩等情况,但其存在四个主要的以及学生的选课和成绩等情况,但其存在四个主要的以及学生的选课和成绩等情况,但其存在四个主要的问题:问题:问题:问题:(1 1)数据冗余度大:数据冗余度大:数据冗余度大:数据冗余度大:就是相同数据在数据库中多次就是相同数据在数据库中多次就是相同数据在数据库中多次就是相同数据在数据库中多次重复存放的现象。数据冗余不仅会浪费存储空间,而重复存放的现象。数据冗余不仅会浪费存储空间,而重复存放的现象。数据冗余不仅会浪费存储空间,而重复存放的现象。数据冗余不仅会浪费存储空间,而且可能造成数据的不一致性。若有且可能造成数据的不一致性。若有且可能造成数据的不一致性。若有且可能造成数
6、据的不一致性。若有500500名学生,学习名学生,学习名学生,学习名学生,学习8 8门课,则共有门课,则共有门课,则共有门课,则共有40004000个元组,那么,系名,系主任名个元组,那么,系名,系主任名个元组,那么,系名,系主任名个元组,那么,系名,系主任名要出现要出现要出现要出现40004000次,其实出现一次就够了。次,其实出现一次就够了。次,其实出现一次就够了。次,其实出现一次就够了。(2 2)插入异常:插入异常:插入异常:插入异常:当在不规范的数据表中插入数据时,当在不规范的数据表中插入数据时,当在不规范的数据表中插入数据时,当在不规范的数据表中插入数据时,由于实体完整性约束要求主键
7、不能为空的限制,而使由于实体完整性约束要求主键不能为空的限制,而使由于实体完整性约束要求主键不能为空的限制,而使由于实体完整性约束要求主键不能为空的限制,而使有用数据无法插入的情况。若新系没有招生,系名,有用数据无法插入的情况。若新系没有招生,系名,有用数据无法插入的情况。若新系没有招生,系名,有用数据无法插入的情况。若新系没有招生,系名,系主任名就没法进表。系主任名就没法进表。系主任名就没法进表。系主任名就没法进表。关系模式的冗余和异常问题关系模式的冗余和异常问题关系模式的冗余和异常问题关系模式的冗余和异常问题oo(3 3)删除异常:当在不规范的数据表中删除数删除异常:当在不规范的数据表中删
8、除数删除异常:当在不规范的数据表中删除数删除异常:当在不规范的数据表中删除数据时,会出现删除了不该删除的数据。比如:假据时,会出现删除了不该删除的数据。比如:假据时,会出现删除了不该删除的数据。比如:假据时,会出现删除了不该删除的数据。比如:假设一个系的学生毕业了,删除全部学生记录,则设一个系的学生毕业了,删除全部学生记录,则设一个系的学生毕业了,删除全部学生记录,则设一个系的学生毕业了,删除全部学生记录,则连系名和系主任名也一同删除了。连系名和系主任名也一同删除了。连系名和系主任名也一同删除了。连系名和系主任名也一同删除了。oo(4 4)潜在的不一致性:系主任一换,潜在的不一致性:系主任一换
9、,潜在的不一致性:系主任一换,潜在的不一致性:系主任一换,4000400040004000个记个记个记个记录都要更新,漏掉一个没改,就会出现数据不一录都要更新,漏掉一个没改,就会出现数据不一录都要更新,漏掉一个没改,就会出现数据不一录都要更新,漏掉一个没改,就会出现数据不一致性致性致性致性oo所以说所以说所以说所以说StudentStudentStudentStudent关系模式不是一个好模式。一个关系模式不是一个好模式。一个关系模式不是一个好模式。一个关系模式不是一个好模式。一个好的模式应当好的模式应当好的模式应当好的模式应当不会出现数据冗余、插入异常、删不会出现数据冗余、插入异常、删不会出
10、现数据冗余、插入异常、删不会出现数据冗余、插入异常、删除异常和潜在的不一致性问题除异常和潜在的不一致性问题除异常和潜在的不一致性问题除异常和潜在的不一致性问题。o在在该该模模式式中中就就可可能能出出现现上上述述提提到到的的一一些些异异常常,上上述述现现象象的的产产生生,是是由由于于关关系系模模式式不不合理。合理。如果一个关系中如果一个关系中,存储了两个或两个以存储了两个或两个以上实体的数据上实体的数据,一般应将它分解为多个关系一般应将它分解为多个关系,使每个关系只有一个实体。使每个关系只有一个实体。解决的办法是:模式分解。解决的办法是:模式分解。为解决这些异常,现将该模式分解如下:为解决这些异
11、常,现将该模式分解如下:解决方法:将模式分解解决方法:将模式分解将上面的关系分解为:将上面的关系分解为:oS(SNO,SNAME,SDEPT)oDEPT(SDEPT,MNAME)oCOURSE(SNO,CNAME,GRADE)o这个新的关系模型包括三个关系模式:学生这个新的关系模型包括三个关系模式:学生S、系系DEPT、课程、课程COURSE。各个关系不是孤立。各个关系不是孤立的,它们相互间存在关联,因此构成了整个系统的,它们相互间存在关联,因此构成了整个系统的模型。的模型。o改改进进后后的的关关系系模模式式存存在在另另外外一一个个问问题题,当当查查询询某某个个学学生生某某门门课课的的成成绩绩
12、时时,需需要要将将三三个个关关系系连接后进行查询连接后进行查询,而关系的连接代价是很大的。而关系的连接代价是很大的。o那那么么,什什么么样样的的关关系系模模式式需需要要分分解解?分分解解关关系系模模式式的的理理论论依依据据又又是是什什么么?分分解解后后能能完完全全消消除除上上述述三三种种问问题题吗吗?回回答答这这些些问问题题需需要要理理论的指导。论的指导。下面将加以讨论。下面将加以讨论。o前前面面章章节节讲讲到到客客观观世世界界的的事事务务间间有有着着错错综综复杂的联系。复杂的联系。o实体间的联系:实体间的联系:实体与实体之间的联系;实体与实体之间的联系;o实体内部各属性间的联系。实体内部各属
13、性间的联系。o在在数数据据库库建建模模(E-R)中中主主要要讨讨论论了了前前一一类联系类联系,现在讨论第二类联系。现在讨论第二类联系。一、概念回顾一、概念回顾o关系关系:描述实体、属性、实体间的联系。:描述实体、属性、实体间的联系。n从形式上看,它是一张二维表,是所涉及属性的笛卡从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。尔积的一个子集。o关系模式关系模式:用来定义关系。:用来定义关系。o关系数据库关系数据库:基于关系模型的数据库,利用关系来描述现:基于关系模型的数据库,利用关系来描述现实世界。实世界。n从形式上看,它由一组关系组成。从形式上看,它由一组关系组成。o关系数据库
14、的模式关系数据库的模式:定义这组关系的关系模式的全体。:定义这组关系的关系模式的全体。二、关系模式的形式化定义二、关系模式的形式化定义关系模式由五部分组成,即它是一个五元组:关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名关系名U:组成该关系的属性名集合组成该关系的属性名集合D:属性组属性组U中属性所来自的域中属性所来自的域DOM:属性向域的映象集合:属性向域的映象集合F:属性间数据的依赖关系集合属性间数据的依赖关系集合三、什么是数据依赖三、什么是数据依赖o是通过一个关系中属性间值的相等与否体现是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,出来的数据间
15、的相互关系,o是现实世界属性间相互联系的抽象是现实世界属性间相互联系的抽象o是数据内在的性质是数据内在的性质o是是语义语义的体现的体现什么是数据依赖(续)什么是数据依赖(续)数据依赖的类型数据依赖的类型o函数依赖(函数依赖(FunctionalDependency,简简称称FD)o多值依赖(多值依赖(MultivaluedDependency,简称简称MVD)o连接依赖(连接依赖(JoinDependency,简称简称JD)。)。o其中最重要的是函数依赖和多值依赖。其中最重要的是函数依赖和多值依赖。四、关系模式的简化表示四、关系模式的简化表示关系模式关系模式R(U,D,DOM,F)简化为一个三
16、元组:简化为一个三元组:R(U,F)当且仅当当且仅当U上的一个关系上的一个关系r满足满足F时,时,r称称为关系为关系模式模式R(U,F)的一个)的一个关系关系五、五、数据依赖对关系模式的影响数据依赖对关系模式的影响例:描述学校的数据库:例:描述学校的数据库:学生的学号(学生的学号(Sno)、所在系()、所在系(Sdept)系主任姓名(系主任姓名(Mname)、课程名()、课程名(Cname)成绩(成绩(Grade)单一单一的关系模式的关系模式:StudentU Sno,Sdept,Mname,Cname,Grade 数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)学校数据库的语义:
17、学校数据库的语义:一个系有若干学生,一个系有若干学生,一个学生只属于一个系;一个学生只属于一个系;一个系只有一名主任;一个系只有一名主任;一个学生可以选修多门课程,一个学生可以选修多门课程,每门课程有若干学每门课程有若干学生选修;生选修;每个学生所学的每门课程都有一个成绩。每个学生所学的每门课程都有一个成绩。数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)属性组属性组U上的一组函数依赖上的一组函数依赖F:FSnoSdept,SdeptMname,(Sno,Cname)Grade SnoCnameSdeptMnameGrade6.2规范化规范化所所谓谓规规范范化化,就就是是用用形形式
18、式更更为为简简洁洁、结结构构更更加加规规范范的的关关系系模式取代原有关系的过程。模式取代原有关系的过程。规范化理论规范化理论正是用来改造关系模式,通过分解关系模式来正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。更新异常和数据冗余问题。o规范化原则:遵从规范化原则:遵从概念单一化概念单一化“一事一地一事一地”原则,即一个原则,即一个关系模式描述一个实体或实体间的一种联系。规范的实质关系模式描述一个实体或实体间的一种联系。规范的实质就是概念的单一化。就是概念的单一化。o规范化要
19、求:规范化要求:分解后的关系模式集合应当与原关系模式分解后的关系模式集合应当与原关系模式“等价等价”,即经过自然联接可以恢复原关系而不丢失信息,即经过自然联接可以恢复原关系而不丢失信息,并保持属性间合理的联系(即无损连接和保持函数依赖)。并保持属性间合理的联系(即无损连接和保持函数依赖)。6.2.1函数依赖函数依赖一、函数依赖一、函数依赖二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖四、传递函数依赖四、传递函数依赖一、函数依赖一、函数依赖函数依赖是属性之间的一种联系函数依赖是属性之间的一种联系。假设给定一个属性的值假
20、设给定一个属性的值,就可就可以唯一确定(查到)另一个属性的值。例如以唯一确定(查到)另一个属性的值。例如,知道学号的值知道学号的值,可以得出可以得出其对应的姓名的值。其对应的姓名的值。如果这种情况成立,如果这种情况成立,就可以说姓名函数依赖于就可以说姓名函数依赖于学号。学号。定义定义6.1设设R(U)是一个属性集是一个属性集U上的关系模式,上的关系模式,X和和Y是是U的子集,的子集,X、Y为为R的两个属性或属性组。如果对于的两个属性或属性组。如果对于R的所有关系的所有关系r都存在:都存在:对于对于X的每一个具体值的每一个具体值,Y都只有一个具体值与之对应都只有一个具体值与之对应,则称属性则称属
21、性Y函数依赖于函数依赖于属性属性X。或者说或者说,属性属性X函数决定属性函数决定属性Y,记作记作XY。其中其中X叫决定因叫决定因素素,Y叫被决定因素叫被决定因素。Y=f(x)说明:说明:1.函数依赖不是指关系模式函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,的某个或某些关系实例满足的约束条件,而是指而是指R的的所有关系实例所有关系实例均要满足的约束条件。均要满足的约束条件。2.函数依赖是函数依赖是语义范畴语义范畴的概念。只能根据数据的语义来确定函数依赖。的概念。只能根据数据的语义来确定函数依赖。例如例如“姓名姓名年龄年龄”这个函数依赖只有在不允许有同名人的条件下这个函数依赖只有在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 规范化理论 规范化 理论 PPT 课件
限制150内