关系数据库规范化理论1课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《关系数据库规范化理论1课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 规范化 理论 课件
- 资源描述:
-
1、1数据库技术及应用第三章关系数据库的规范化理论第三章关系数据库的规范化理论23.1 关系模式的冗余和异常问题n范式(范式(Normal Form):):是指规范化的关系模式。是指规范化的关系模式。n第一范式(第一范式(1NF):):由满足最基本规范化的关系模式。由满足最基本规范化的关系模式。n第一范式的关系模式再满足另外一些约束条件就产生了第第一范式的关系模式再满足另外一些约束条件就产生了第二范式、第三范式、二范式、第三范式、BC范式等等。范式等等。n一个低一级的关系范式通过模式分解可以转换成若干高一一个低一级的关系范式通过模式分解可以转换成若干高一级范式的关系模式的集合,这种过程叫关系模式的
2、规范化级范式的关系模式的集合,这种过程叫关系模式的规范化(Normalization)。)。3二、二、关系模式规范化的必要性关系模式规范化的必要性1.关系模式应满足的基本要求1)元组的每个分量必须是不可分的数据项。元组的每个分量必须是不可分的数据项。2)数据库中的数据冗余应尽可能少。数据库中的数据冗余应尽可能少。数据量巨增,系统负担过重,浪费存储空间,造成数据的不完整。数据量巨增,系统负担过重,浪费存储空间,造成数据的不完整。3)关系数据库不能因为数据更新操作而引起数据不一致问关系数据库不能因为数据更新操作而引起数据不一致问题。题。(数据冗余)(数据冗余)4)当执行数据插入操作时,数据库中的数
3、据不能产生插入当执行数据插入操作时,数据库中的数据不能产生插入异常现象。异常现象。数据库中的数据因不能满足某种完整性要求而不能正常地插入到数数据库中的数据因不能满足某种完整性要求而不能正常地插入到数据库中。据库中。5)数据库中的数据不能在执行删除操作时产生删除异常问数据库中的数据不能在执行删除操作时产生删除异常问题。题。删除某种信息的同时,把其他信息也删除了。多种信息捆绑在一起。删除某种信息的同时,把其他信息也删除了。多种信息捆绑在一起。4关系中每一个分量都必须是不可分的数据项。v判断是否为关系的标准判断是否为关系的标准v关系的一切数学理论都是基于关系服从关系的一切数学理论都是基于关系服从1N
4、F1NF。姓名所在系成绩C数据库李明计算机6578姓名所在系C成绩数据库成绩李明计算机6578修改后的数据结构:修改后的数据结构:将大大增加关将大大增加关系操作的表达、系操作的表达、优化及执行的优化及执行的复杂度。复杂度。56)数据库设计应考虑数据库设计应考虑查询要求查询要求,数据组织应合理。,数据组织应合理。在数据库设计时,不仅要考虑到自身结构的完整性,还在数据库设计时,不仅要考虑到自身结构的完整性,还要考虑到数据的使用要求。要考虑到数据的使用要求。为了使数据查询方便、数据处理简便,有必要通过为了使数据查询方便、数据处理简便,有必要通过视视图、索引和适当增加数据冗余图、索引和适当增加数据冗余
5、的方法。的方法。62.关系中异常和冗余问题关系中异常和冗余问题数据冗余大;数据冗余大;插入异常;插入异常;删除异常;删除异常;更新异常。更新异常。dwbmdwmcWzbmWzmcRqJldwPriceQlssfs0101一分厂一车间02010125铜管材2002/12/01根90550101一分厂一车间010401锆美合金2002/12/01Kg12001080101一分厂一车间010101铍铜合金2002/12/02Kg80020200101一分厂一车间02010220铜管材2002/12/02根80550101一分厂一车间02010125铜管材2002/12/02根9010100102一分
6、厂二车间010301铅锑合金2002/12/02Kg1000880102一分厂二车间02010125铜管材2002/12/02根90330221二分厂生产科02010125铝管材2002/12/02根70201573.模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法 按“一事一地”的原则分解成“单位”、“物资”和“领料”三个关系,其关系模式为:单位(单位编码单位编码,单位名称,单位名称)物资(物资编码物资编码,物资名称,计量单位,价格,物资名称,计量单位,价格)领料(单位编码,物资编码,领料时间单位编码,物资编码,领料时间,请领量,实,请领量,实发量发量)关系模式:物资领料(单位编
7、码单位编码,单位名称,单位名称,物资编码物资编码,物资名,物资名称,称,领料时间领料时间,计量单位,价格,请领量,实发量)。,计量单位,价格,请领量,实发量)。8学号姓名年龄性别系名系主任课程名成绩98001李华20男计算机系王民程序设计8898001李华20男计算机系王民数据结构7498001李华20男计算机系王民数据库8298001李华20男计算机系王民电路6598002张平21女计算机系王民程序设计9298002张平21女计算机系王民数据结构8298002张平21女计算机系王民数据库7898002张平21女计算机系王民电路8398003陈兵20男数学系赵敏高等数学7298003陈兵20男
8、数学系赵敏数据结构9498003陈兵20男数学系赵敏数据库8398003陈兵20男数学系赵敏离散数学87学生学生(学号,姓名,年龄,性别,系名称学号,姓名,年龄,性别,系名称);教学系教学系(系名,系主任系名,系主任);选课选课(学号,课程名,成绩学号,课程名,成绩).93.2 函数依赖函数依赖1.关系模式的简化表示法关系模式的简化表示法关系模式的完整表示是一个五元组:R(U,D,Dom,F).其中:R为关系名;U为关系的属性集合;D为属性集U中属性的数据域;Dom为属性到域的映射;F为属性集U的数据依赖集。关系模式可以用三元组来为:R(U,F)数据依赖集函数依赖(Functional Dep
9、endency)多值依赖(Multivalued Dependency)连接依赖(Join Dependency)102.函数依赖的概念函数依赖的概念v 设设R R(U U)是属性集)是属性集U U上的关系模式,上的关系模式,X X、Y Y是是U U的子集。若对于的子集。若对于R R(U U)的任意一个可能的关系)的任意一个可能的关系r r,r r中的任一元组中的任一元组在在X X中的属中的属性值确定后性值确定后,则在,则在Y Y中的属性值中的属性值也必确定。则称也必确定。则称X X函数决定函数决定Y Y,或或Y Y函数依赖于函数依赖于X X,记作,记作XYXY。XY,但Y X,则称XY是非平
10、凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。XY,但YX,则称XY是平凡的函数依赖。若XY,则X叫做决定因素(Determinant),Y叫做依赖因素(Dependent)。若XY,YX,则记作XY。若Y不函数依赖于X,则记作X Y。函数依赖是数据依赖的一种,实际上它函数依赖是数据依赖的一种,实际上它描述的是描述的是同一同一关系中属性关系中属性间的联系。间的联系。11例例3,对于教学关系模式:教学(,对于教学关系模式:教学(U,F););U=学号,姓名,年龄,性别,系名,系主任,课程名,成绩学号,姓名,年龄,性别,系名,系主任,课程名,成绩;例1:物资(物资编码物资编码,物资名称,计
11、量单位,价格,物资名称,计量单位,价格)属性“物资编码物资编码”和和“物资名称物资名称”间有函数依赖关系,间有函数依赖关系,物资编码的值确定,物资名称的值也惟一确定。物资编码的值确定,物资名称的值也惟一确定。称称 “物资编码物资编码”函数决定函数决定“物资名称物资名称”或或 “物资名称物资名称”函数依赖于函数依赖于“物资编码物资编码”。例2:领料(单位编码,物资编码,领料时间单位编码,物资编码,领料时间,请领量,实发量,请领量,实发量)F=学号学号姓名,学号姓名,学号年龄,学号年龄,学号性别,学号性别,学号系名,系名系名,系名系主任,系主任,(学号,课程名学号,课程名)成绩成绩.“物资编码物资
12、编码”与与“请领量请领量”间没有函数依赖关系。但间没有函数依赖关系。但12注意:注意:函数依赖是函数依赖是语义范畴语义范畴的概念,我们只能根据数据的的概念,我们只能根据数据的语义来确定函数依赖。例如,语义来确定函数依赖。例如,“姓名姓名所在系所在系”这个函这个函数依赖只有在没有同名人的条件下成立。如果有相同名数依赖只有在没有同名人的条件下成立。如果有相同名字的人,则字的人,则“所在系所在系”就不再函数依赖于就不再函数依赖于“姓名姓名”了。了。13完全函数依赖、传递函数依赖v 在在R(U)中,如果中,如果XY,并且对于,并且对于X的任何一个真子集的任何一个真子集X,都有都有X Y,则称,则称Y对
13、对X完全函数依赖完全函数依赖,记作:,记作:XY;若;若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X部分函数依赖部分函数依赖,记作:记作:XY。例例:在教学关系模式:在教学关系模式:(学号,课程名学号,课程名)成绩,成绩,(学号,课程学号,课程名名)姓名姓名.v 在在R(U)中,如果中,如果XY,(Y X),Y X,YZ,则称,则称Z对对X传递函数依赖。传递函数依赖记作传递函数依赖。传递函数依赖记作X Z。例如,例如,在教学模式中,因为:学号在教学模式中,因为:学号系名,系名系名,系名系主任;系主任;所以:学号所以:学号 系主任。系主任。PffP传递传递14v码码定义定
14、义:设设K为关系模式为关系模式R(U)中的属性或属性组合,若中的属性或属性组合,若KU,则称,则称K为为R的一个的一个候选码候选码。若关系模式有多个候选。若关系模式有多个候选码,则选定其中的一个做为主码(码,则选定其中的一个做为主码(primary key)。)。主属性主属性:包含在任何一个关键字中的属性。:包含在任何一个关键字中的属性。非主属性非主属性:不包含在任何候选码中的属性。:不包含在任何候选码中的属性。在最简单的情况下,候选码只包含一个属性。在最极在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性组是这个关系模式的候端的情况下,关系模式的所有属性组是这个关系
15、模式的候选码,称为选码,称为全码全码。15数据依赖引起的主要问题是插入、删除及更新异常等,解数据依赖引起的主要问题是插入、删除及更新异常等,解决的办法是进行决的办法是进行关系模式的合理分解关系模式的合理分解,也就是对关系模式规,也就是对关系模式规范化。范化。范式是符合某一种级别的关系模式的集合。范式是符合某一种级别的关系模式的集合。满足最低要求满足最低要求的叫第一范式,简称为的叫第一范式,简称为1NF。在第一范式基础上进一步满足。在第一范式基础上进一步满足一些要求的为第二范式,简称为一些要求的为第二范式,简称为2NF。其余以此类推。显然。其余以此类推。显然各种范式之间存在联各种范式之间存在联系
16、。系。通常把某一关系模式通常把某一关系模式R为第为第n范式简记为范式简记为RnNF。NFNFBCNFNFNFNF54321小知识:从小知识:从19711971年起,年起,E E。F F。CoddCodd相继提出了第一范式、第二范式,第相继提出了第一范式、第二范式,第三范式,三范式,CoddCodd与与BoyceBoyce合作提出了合作提出了Boyce Boyce CoddCodd范式,到目前为止,已范式,到目前为止,已提出了第五范式。提出了第五范式。16如果关系模式如果关系模式R R,其所有的属性均为简单属性,其所有的属性均为简单属性,即每个属性都是不可再分的,则称即每个属性都是不可再分的,则
17、称R R属于第一范式,属于第一范式,记作记作R R 1NF1NF。它不允许属性值为元组、数组或某种复合数据等。它不允许属性值为元组、数组或某种复合数据等。仅满足第一范式是不够的,仍然存在异常和冗余问题,需对关系模式继续规范,使之服从更高的范式,才能得到性能较高的关系模式。17 若关系模式若关系模式RlNF,并且每一个,并且每一个非主属性都完全函数非主属性都完全函数依赖于依赖于R的码的码,则,则R 2NF。2NF就是不允许关系模式的非主属性对码的部分依赖。即:XY,其中X是码的真子集,Y是非主属性。显然,码只包含一个属性的关系模式如果属于1NF,那么它一定属于2NF。18例例1:分析关系模式:分
18、析关系模式R(dwbm,wzbm,rq,dwmc,zgld,zgdz,qls,sfs)中的函数依赖:)中的函数依赖:rqdwbmwzbmqlssfszglddwmczgdz图3.2R中的函数依赖19如对关系模式如对关系模式R分解为两个关系模式:分解为两个关系模式:R1(dwbm,wzbm,rq,qls,sfs)R2(dwbm,dwmc,zgld,zgdz)rqdwbmwzbmrqrq图3.3R1中的函数依赖dwbmzglddwmczgdz图3.4R2中的函数依赖关系分解实际上是把联系不紧密的属性尽量分开关系分解实际上是把联系不紧密的属性尽量分开。20在教学模式中在教学模式中:属性集属性集=学号
19、,姓名,年龄,系名,系主任,课程名,成绩学号,姓名,年龄,系名,系主任,课程名,成绩.函数依赖集函数依赖集=学号学号姓名,学号姓名,学号年龄,学号年龄,学号性别,学号性别,学号系名,系名,系名系名系主任,系主任,(学号,课程名学号,课程名)成绩成绩.主码主码=(学号,课程名学号,课程名).非主属性非主属性=(姓名,年龄,系名,系主任,成绩姓名,年龄,系名,系主任,成绩)。(学号,课程名学号,课程名)姓名,姓名,(学号,课程名学号,课程名)年龄,年龄,(学号,课程号学号,课程号)性别性别,(学号,课程名学号,课程名)系名,系名,(学号,课程名学号,课程名)系主任;系主任;(学号,课程名学号,课程
20、名)成绩成绩.显然,教学模式不服从显然,教学模式不服从2NF,即:教学,即:教学 2NF。PPPPP非主属性对码的函数依赖:非主属性对码的函数依赖:21根据根据2NF的定义,将教学关系模式分解:的定义,将教学关系模式分解:学生系(学号,姓名,性别,年龄,系名,系主任)。学生系(学号,姓名,性别,年龄,系名,系主任)。选课(学号,课程名,成绩)选课(学号,课程名,成绩)问题:问题:满足满足2NF的关系模式是否还存在异常和冗余问题?的关系模式是否还存在异常和冗余问题?22三三.3NF 关系模式关系模式RU,F中若不存在这样的码中若不存在这样的码X、属性组、属性组Y及及非主属性非主属性Z(Z Y)使
21、得使得XY、Y X、YZ成立,则称成立,则称R(U,F)3NF。可以证明,若可以证明,若R 3NF,则,则每一个非主属性既不部分函数依每一个非主属性既不部分函数依赖于码,也不传递函数依赖于码。赖于码,也不传递函数依赖于码。分析下面关系模式的范式:分析下面关系模式的范式:R1(dwbm,wzbm,rq,qls,sfs)R2(dwbm,dwmc,zgld,zgdz)R1 3NF,R2 3NF,对,对R2分解:分解:R21(dwbm,dwmc,zgld)R22(zgld,zgdz)23例例2:学生:学生_系系(学号,姓名,性别,年龄,系名,系主任)。(学号,姓名,性别,年龄,系名,系主任)。学号学号
22、系名,系名系名,系名系主任。则:系主任。则:传递学号学号 系主任系主任如果分解为:如果分解为:学生学生(学号,姓名,年龄,性别,系名学号,姓名,年龄,性别,系名);教学系教学系(系名,系主任系名,系主任).显然分解后的各子模式均属于显然分解后的各子模式均属于3NF。学生学生_系系 3NF。24说明:1、3NF范式是一个可用的关系模式应满足的最低范式。2、把关系模式分解到第三范式,可以在相当程度上减轻原关系中的异常和信息冗余,但也不能保证完全消除关系模式中的各种异常和信息冗余。要想使数据库性能得到进一步的改善,就要把关系模式进一步规范化。25四四.BCNF(Boyce Codd Normal F
23、orm)n关系模式关系模式R(U,F)1NF。若。若XY(YX)时)时X必含有必含有码,则码,则R(U,F)BCNF。即:关系模式即:关系模式RU,F中,若中,若每一个决定因素都包含码每一个决定因素都包含码,则则RU,F BCNF。n一个满足一个满足BCNF的关系模式有:的关系模式有:1)1)所有所有非主属性非主属性对每一个码都是完全函数依赖。对每一个码都是完全函数依赖。2)2)所有的所有的主属性主属性对每一个不包含它的码,也是完全依赖。对每一个不包含它的码,也是完全依赖。3)3)没有任何属性完全函数依赖于没有任何属性完全函数依赖于非码非码的任何一组属性。的任何一组属性。26例例1:分析下面的
展开阅读全文