数据库技术与应用第三章(共三章)

上传人:xins****2008 文档编号:223083174 上传时间:2023-07-15 格式:PPT 页数:40 大小:260KB
收藏 版权申诉 举报 下载
数据库技术与应用第三章(共三章)_第1页
第1页 / 共40页
数据库技术与应用第三章(共三章)_第2页
第2页 / 共40页
数据库技术与应用第三章(共三章)_第3页
第3页 / 共40页
资源描述:

《数据库技术与应用第三章(共三章)》由会员分享,可在线阅读,更多相关《数据库技术与应用第三章(共三章)(40页珍藏版)》请在装配图网上搜索。

1、第三章关系规范化基础7/15/20231本章主要内容1.规范化问题2.函数依赖3.关系的范式7/15/202323.1 3.1 规范化问题规范化问题v关系必须规范化,即关系模型中的每一个关系模式都必须满足一定的要求。规范化有许多层次,对关系最基本的要求是每个属性值必须是不可分割的数据单元,即表中不能再包含表。v不规范的关系模式在应用中可能产生很多弊病。7/15/20233一、讨论范围v数据库是一组相关数据的集合,它不仅包括数据本身,而且包括有关数据之间的联系,这种联系通过数据模型体现出来。v在以关系模型为基础的数据库中,用关系来描述现实世界。关系模式的全体定义构成关系数据库模式。v关系数据库设

2、计理论主要包括三方面的内容:函数依赖、范式、模式设计方法。其中函数依赖是核心7/15/20234二、存储异常问题v例:设有包括11个属性的教师任课关系模式如下。教师号姓名职称教师地址系号系名系地址课程号课程名教学水平学分111223334.马丽马丽马丽王平王平李明李明李明周舟教授教授教授讲师讲师教授教授教授讲师A1A1A1A2A2A3A3A3A4DP1DP1DP1DP1DP1DP1DP1DP1DP2计算机计算机计算机计算机计算机计算机计算机计算机通信L1L1L1L1L1L1L1L1L2C1C2C3C3C4C4C1C5C6英语C语言VBVBOSOS英语数据库数学GOODEXCELOKGOODGO

3、ODOKOKEXCELGOOD334442334用于确定某个特定元组的主关键字是用于确定某个特定元组的主关键字是(教师号,课程号)(教师号,课程号)7/15/20235该关系存在的问题v数据冗余v更新异常v插入异常v删除异常新的关系模型包括四个关系模式:教师T(教师号,姓名,职称,教师地址,系号)部门D(系号,系名称,系地址)课程C(课程号,课程名,学分)教学TC(教师号,课程号,教学水平)关系之间的联系通过外关键字反映出来。关系之间的联系通过外关键字反映出来。教师T和部门D之间通过T中的外关键字系号相联系;教师T与课程C之间存在多对多的联系,它通过教学TC中的外关键字教师号、课程号相联系。解

4、决办法:重新设计一个关系模型7/15/202363.2 3.2 函数依赖函数依赖v属性间的联系在现实世界中,描述一个实体的各个属性之间也是互相联系的。属性之间的联系也分为三种类型。1.一对一联系:一对一联系:设X、Y为关系中的属性或属性组,为简便起见,把它们的所有可能取值组成的两个集合也叫做X、Y。如果对于X中的任何一个具体值,Y中至多有一个值与之对应,并且对于Y中的任何一个具体值,X中也至多有一个值与之对应,称X、Y这两个属性之间是一对一联系。7/15/20237例:读者(借书证号,单位,姓名,性别,职称,地址)关系模式的一个具体关系如下:借书证号单位姓名性别职称地址111112113114

5、117118信息系财会系经济系信息系计算机系计算机系王维利李立张三周华发李小峰许朋飞女男男男男女教授副教授讲师讲师助教讲师1号楼2号楼3号楼1号楼1号楼2号楼姓名与借书证号两个属性之间是一一对应的。是姓名与借书证号两个属性之间是一一对应的。是1:11:1联系联系7/15/202382.一对多联系v如果属性值集合X中的任一个具体值,至多与Y中的一个值相对应,而Y中的任一个具体值却可以和X中的多个值相对应,则称两个属性间从X到Y为m:1的联系。或从Y到X是1:m的联系。总编号分类号书名作者出版单位单价445501445502445503332211112266665544114455113388T

6、P3/12TP3/12TP3/12TP5/10TP3/12TS7/55TR7/90TR7/90数据库基础数据库基础数据库基础C程序设计FoxPro高等数学通信原理通信原理张三张三张三李伟刘明胡玲王平王平科学出版社科学出版社科学出版社高等教育出版社电子工业出版社清华大学出版社人民邮电出版社人民邮电出版社1717171823202525书名的集合书名的集合数据库基础数据库基础,C程序设计程序设计,FoxPro,高等数学高等数学,通信原理通信原理总编号的集合总编号的集合445501,445502,445503,332211,112266,665544,114455,113388书名与总编号之间是书名

7、与总编号之间是1:m,即同一个书名即同一个书名,有多个总编号与之对应有多个总编号与之对应.v注意:注意:这里指的是属性值个数的多少,而不具有相同属性值的有多个元组。7/15/202393.多对多联系v在X、Y两个属性值集中,如果任一个值都可以和另一个属性值集中多个值对应,反之亦然,则称属性X和Y是m:n关系。例:有一借阅关系,借阅(借书证号,总编号,借书日期)关系模式的一个具体关系如下:借书证号总编号借书日期11212511111211444550133221144550311226633221103/19/9902/12/9908/21/9903/19/9910/21/97数据依赖数据依赖:

8、关系中属性值之间这种既相互依赖又能相互制约的:关系中属性值之间这种既相互依赖又能相互制约的联系称为数据依赖。数据依赖主要有两种:联系称为数据依赖。数据依赖主要有两种:函数依赖和多值依函数依赖和多值依赖赖。显然,三类联系之间存在显然,三类联系之间存在着包含关系,着包含关系,1:11:1是是1:1:mm的的特例;特例;1:1:mm又是又是m:n m:n 当当m=1m=1时的特例。时的特例。7/15/202310二、函数依赖v函数依赖(Functional Dependency)它类似于变量之间的单值函数关系。设单值函数Y=F(X),自变量X的值,决定一个唯一的函数值Y。而当X取不同值时,它们所对应

9、的Y值可能不同,也可能相同。例:有一学生关系例:有一学生关系S(学号学号,姓名姓名,性别性别,系别)。由于一个学号只对应一个系别)。由于一个学号只对应一个学生,当一个学号值确定以后,这个学生的相关信息也就确定了,例学生,当一个学号值确定以后,这个学生的相关信息也就确定了,例如姓名,性别,系别等,这样我们就称如姓名,性别,系别等,这样我们就称“学号学号”函数决定函数决定“姓名姓名”、“性别性别”、“系别系别”,或者说,或者说“姓名姓名”、“性别性别”、“系别系别”函数依函数依赖于赖于“学号学号”。函数依赖的定义:若对于一个关系模式中所有具体关系的属性之间都满足如下约束:对于X的每一个具体值,Y有

10、唯一的具体值与之对应,则称Y函数依赖于X,或X函数决定Y。记作XY,X称作决定因素。7/15/202311如果XY,并且Y不是X的子集,则称XY是非平凡的函数依赖。若Y是X的子集,则称XY是平凡的函数依赖。我们讨论的总是非平凡的函数依赖。我们讨论的总是非平凡的函数依赖。存在平凡函数依赖(学号,姓名)姓名对于关系模式SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)存在如下函数依赖:SNOSN,SNOAGE,SNODEPT。但SCORE不能函数依赖于SNO,所以有:SNO SCORE。但是SCORE可以被(SNO,CNO)唯一地确定。所以可表示为:(SNO,CNO)SCORE。7

11、/15/202312关于定义的说明:定义中的“对应唯一的具体值”是指唯一确定值是什么,而不是说该值不能与其它值相等。恰好相反,这个确定值很可能与其它元组的值相等。如,姓名确定性别为“男”,而不能排除别人的性别也是“男”。函数依赖的确切语义表示了关系模式中属性集X的值与Y的值之间的多对一联系。注意:函数依赖是指关系模式R的所有关系元组均应满足的约束条件,而不是指关系模式R的某个或某些元组满足的约束条件。根据函数依赖的定义可以得出的规律:在一个关系模式中,如果属性X、Y有1:1联系,则相互函数依赖X Y、Y X。可记为X Y。如果属性X、Y是1:m的联系,则存在函数依赖Y X,但X不决定Y。如果属

12、性X、Y是m:m的联系,则X与Y之间不存在任何函数依赖。7/15/202313函数依赖关系的存在与时间无关。因为函数依赖是指关系中的所有元组应该满足的约束条件,而不是指关系中某个或某些元组所满足的约束条件。例如,对于关系模式例如,对于关系模式S S,假设没有给出无重名的学生这种语义规假设没有给出无重名的学生这种语义规定,则即使当前关系中没有重名的记录,也只能存在函数依赖定,则即使当前关系中没有重名的记录,也只能存在函数依赖SNOSNSNOSN,而不能存在函数依赖而不能存在函数依赖SNSNOSNSNO,因为如果新增加一个重因为如果新增加一个重名的学生,函数依赖名的学生,函数依赖SNSNOSNSN

13、O必然不成立。必然不成立。函数依赖可以保证关系分解的无损连接性。设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果XY或XZ,则有R(X,Y,Z)=RX,Y*RX,Z,其中,RX,Y表示关系R在属性(X,Y)上的投影,即R等于其投影在X上的自然连接,这样便保证了关系R分解后不会丢失原有的信息,称作关系分解的无损连接性。例如,对于关系模式例如,对于关系模式SCDSCD,有有SNOSNO(SNSN,AGEAGE,DEPTDEPT,MNMN),),SCDSCD(SNOSNO,SNSN,AGEAGE,DEPTDEPT,MNMN,CNOCNO,SCORESCORE)=SCDSNO=SCDSNO,SN

14、SN,AGEAGE,DEPTDEPT,MN*SCDSNOMN*SCDSNO,CNOCNO,SCORESCORE,也就是说,用其投影也就是说,用其投影在在SNOSNO上的自然连接可复原关系模式上的自然连接可复原关系模式SCDSCD。7/15/202314安全函数依赖的定义v设XY是关系模式R的一个函数依赖,如果存在X的真子集X,使得XY成立,则称Y部分依赖于X,记作X Y。否则,称Y完全依赖于X,记作X Y。v由定义可知,完全函数依赖是指依赖于组合属性的全部,而不是它的一部分。v当X是单个属性时,由于X不存在任何真子集,如果X Y,则X Y。Pfff例:例:设有关系模式选课SC1(SNO,CNO

15、,GRADE,CREDIT),其中,SNO表示学号,CNO表示课程号,GRADE表示成绩,CREDIT表示学分。在这个选课关系模式中,属性组合(SNO,CNO)中的任何单独一个属性都不能确定GRADE。(SNO,CNO)GRADE(完全函数依赖)(SNO,CNO)CREDIT(部分函数依赖)fPSNOCNOGGR7/15/202315传递依赖的定义v在同一关系模式中,如果存在非平凡函数依赖XY,Y Z,而Y X,则称Z传递依赖于X。v定义的条件XY,并强调Y X十分必要。如果X、Y互相依赖,实际上处于等价地位,则X Z则为直接函数依赖联系,并非传递依赖。例:有关系模式S1(学号,姓名,系号,系

16、名,系地址)。通过分析可知,由于一个系里有多名学生,而一个学生只能在一个系里注册;一个系有一个确定的办公地址。此关系存在如下函数依赖:学号系号,但系号 学号,系号系地址,根据传递依赖的定义,则有学号系地址实际上,部分依赖必须是传递依赖。7/15/202316关键字的形式化定义用大写U表示一个关系的属性全集,R(U)表示关系模式,用X,Y,K等表示U中的一个或者几个属性的组合。v候选关键字的定义:在关系模式R(U)中,K是U中的属性或属性组。如果K完全函数决定整个元组,即K U,则称K为关系R(U)的一个候选关键字。vR(U)中若有一个以上的候选关键字,则选定其中一个作为主关键字。如果K不是单一

17、属性,而是组合属性,可称为组合关键字,或合成关键字。v主属性:把包含在任意一个候选关键字中的属性称为主属性。不包含在任何候选关键字中的属性称为非主属性。f例:例:在关系SC1(SNO,CNO,GRADE,CREDIT)中,属性组(SNO,CNO)是候选关键字,也是主关键字。SNO,CNO是主属性。GRADE、CREDIT是非主属性。有一借阅关系(借书证号,总编号,借阅日期,备注)关键字也是组合关键字(借书证号,总编号)。借书证号,总编号是主属性;借阅日期、备注为非主属性。7/15/202317单个属性作为关键字的情况:如,图书中的总编号、读者中的借书证号、课程里的CNO、学生中的SNO等。在学

18、生关系S(SNO,SNAME,SEX,ADDRESS)中,主关键字为SNO。如果在关系模式里再加上身份证号和医疗证号,它们则是另外两个候选关键字。假设绝对没有重名的学生,则SNAME也是候选关键字,那么这个关系就共有四个候选关键字。这几个候选关键字的地位相同,我们可以根据处理的需要,或查询的习惯指定学号为主关键字。v候选关键字的性质候选关键字的性质标识的唯一性:对于R(U)中的每一个元组,K的值确定后,该元组就相应确定了。无冗余性:当K是属性组的情况下,K的任何一部分都不能唯一标识该元组。这是定义中的完全函数依赖的意义。7/15/202318外关键字的定义v在关系模式R(U)中,若属性或属性组

19、X不是关系R的关键字,但X是其它关系模式的关键字,则称X为关系R(U)的外关键字。例如:例如:在图书管理数据库中,借阅(借书证号,总编号,借书日期)当中,借书证号和总编号分别是读者关系、图书关系的主关键字,构成借阅关系的外关键字。主关键字和外关键字是表示关系之间联系的手段。7/15/202319例例:在选课关系数据库中,三个关系模式:v学生关系 S(S#,SNAME,SEX,ADDRESS),其中S#为主关键字。v课程关系C(C#,CNAME,CREDIT),其中C#为主关键字。v学生选课关系SC(S#,C#,GRADE),其中(S#,C#)为主关键字,S#和C#分别为外关键字。v学生和课程存

20、在的多对多的联系由选修关系反映出来,三个关系间的关联是通过关系SC的外关键字S#、C#实现的。7/15/2023203.3 关系的范式v一个关系模式满足某一指定的约束,称此关系模式为特定范式的关系模式。v关系模式有下列几种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF、第四范式(4NF)、和第五范式(5NF)一、第一范式(1NF)定义:在关系模式R的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。记为R1NF。不属于1NF的关系称为非规范化关系。数据库理论研究的都是规范化关系。7/15/202321职工号姓名电话号码100110

21、0110021003100310041005李明李明张一刘大维刘大维章良北何为民7012633(O)7146688(H)50012872533886(O)2016543(H)56789015047996单位名称地址负责人主任副主任计算机系经济系2号楼402#3号楼506#张力孙维陈一平马为民林新李山河王成例例:将表将表1 1规范成规范成1 1NFNF。有三种方法将表1规范成1NF。像表中那样,重复存储职工号和姓名。关键字只能是:把电话号码拆成成单位电话和信宅电话两个属性。关键字是职工号维持原模式不变,但强制每个元组只能录入一个电话号码。关键字是职工号。例:将表例:将表2 2规范成规范成1 1N

22、FNF。如果各单位只有一个副主任,可将关系模式设计成:单位(单位名称,地址,主任,副主任)。若有一个以上的副主任,则应按需要并列副主任1,副主任2,几个单独属性。或者只允许输入一个副主任。7/15/202322例:设有选课关系模式例:设有选课关系模式SC1(SNO,CNO,GRADE,CREDIT)。)。此关系存在的函数依赖(SNO,CNO)GRADE,CNOCREDIT,关键字是组合属性(SNO,CNO)。在实际使用中,该关系会出现的问题:1.数据冗余2.更新异常3.插入异常4.删除异常SNOCNOGRADECREDITS1S1S1S2S2S2S3C1C2C3C2C3C4C290857080

23、7595854323233原因在于关系模式中的非主属性CREDIT仅函数依赖于CNO,CNOCREDIT。也就是说:非主属性CREDIT 部分依赖组合关键字(SNO,CNO),而不是完全依赖。第二范式的定义:第二范式的定义:如果关系模式R(U,F)中的所有非主属性都完全函数依赖于任意一个候选关键字,则称关系R是属于第二范式的。记为R2NF。若将选课关系SC1规范成为2NF的关系,则应消除属性之间的部分依赖。做法:做法:将关系SC1分解为以下两个关系模式。SC1(SNO,CNO,GRADE)、C2(CNO,CREDIT)新关系模型包括两个关系模式,它们之间通过SCl中的外关键字CNO相联系,需要

24、时再自然联接,则恢复了原来的关系。诀窍:单属性关键字的表都是二范式。诀窍:单属性关键字的表都是二范式。7/15/202323第三范式(3NF)v对于学生关系模式S1(SNO,SNAME,DNO,DNAME,LOCATION),关键字SNO函数决定各个属性。由于是单属性关键字,不存在部分依赖的问题,属于2NF。但是此关系仍然存在大量的冗余。v分析原因是由于关系中存在传递依赖造成的。SNODNO,但DNO SNO,DNOLOCATION,可知DNOLOCATIONv第三范式的定义:第三范式的定义:如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是属于第三范式。记

25、为R3NF。v满足第三范式的数据库表应该不存在如下依赖关系:关键字段 非关键字段x 非关键字段y 把上例中中符合2NF的学生关系S1转换成符合3NF的数据库模式,目标就是在每个关系模式中不能留有传递依赖。因此把原关系S1分解成以下两个关系:S(SNO,SNAME,DNO)、D(DNO,DNAME,LOCATION)。必须注意,分解时不能从关系S中遗漏外关键字DNO,否则这两个关系之间将失去联系,就不能通过自然联接再恢复原来的关系了。满足满足3 3NFNF的关系模式必然满足的关系模式必然满足2 2NFNF。注意:注意:对关系规范化的分解过程体现出了“一事一地”的设计原则,即一个关系反映一个实体或

26、一个联系。基本关系模式切忌“大而全”。7/15/202324BCNFv满足第三范式的关系也可能出现问题满足第三范式的关系也可能出现问题:部分函数依赖和传递函数依赖是产生存储异常的两个重要原因,3NF消除了大部分存储异常,具有较好的性能。但3NF并没有要求消除主属性对候选关键字的传递依赖,如果存在这种情况,3NF模式仍然可能发生存储异常现象。7/15/202325v设有关系模式仓库保管WPE(W#,P#,E#,QNT)其中各属性分别表示仓库号、器件号、职工号、数量。一个具体实例如右表所示。它所反映的语义是:(1)一个仓库有多个职工;(2)一个职工仅在一个仓库工作;(3)每个仓库里一种器件由专人负

27、责,但一个人可以管理几种器件。(4)同一种型号的配件可以分放在几个仓库中。7/15/202326根据语义可以分析出以下函数依赖根据语义可以分析出以下函数依赖:v(W#,P#)QNT,(W#,P#)E#,E#W#,(E#,P#)QNTE#P#W#QNT7/15/202327BCNF的定义v如果关系模式R(U,F)的所有属性都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。记为RBCNF。v等价的定义是,关系模式R,如果每个决定因素都包含关键字(而不是被关键字所包含),则R是BCNF的关系模式。7/15/202328BCNF具有如下性质:1满足BCNF的关系将消除任何属性(主属性或非

28、主属性)对键的部分函数依赖和传递函数依赖。也就是说,如果RBCNF,则R也是3NF。2如果R3NF,则R不一定是BCNF。现举例说明。设关系模式SNC(SNO,SN,CN0,SCORE),其中SNO代表学号,SN代表学生姓名并假设没有重名,CNO代表课程号,SCORE代表成绩。可以判定,SNC有两个候选键(SNO,CNO)和(SN,CNO),其函数依赖如下:SNOSN(SNO,CNO)SCORE(SN,CNO)SCORE唯一的非主属性SCORE对键不存在部分函数依赖,也不存在传递函数依赖。所以SNC3NF。但是,因为SNOSN,即决定因素SNO或SN不包含候选键,从另一个角度说,存在着主属性对

29、键的部分函数依赖:(SNO,CNO)SN,(SN,CNO)SNO,所以SNC不是BCNF。正是存在着这种主属性对键的部分函数依赖关系,造成了关系SNC中存在着较大的数据冗余,学生姓名的存储次数等于该生所选的课程数。从而会引起修改异常。比如,当要更改某个学生的姓名时,则必须搜索出现该姓名的每个学生记录,并对其姓名逐一修改,这样容易造成数据的不一致问题。解决这一问题的办法仍然是通过投影分解进一步提高SNC的范式等级,将SNC规范到BCNF。7/15/202329BCNF规范化BCNF规范化是指把3NF关系模式通过投影分解转换成BCNF关系模式的集合。下面以3NF关系模式SNC为例,来说明BCNF规

30、范化的过程。例4.3将SNC(SNO,SN,CNO,SCORE)规范到BCNF。分析SNC数据冗余的原因,是因为在这一个关系中存在两个实体,一个为学生实体,属性有SNO、SN;另一个是选课实体,属性有SNO、CNO和SCORE。根据分解的原则,我们可以将SNC分解成如下两个关系:S1(SNO,SN),描述学生实体;S2(SNO,CNO,SCORE),描述学生与课程的联系。对于S1,有两个候选键SNO和SN,对于S2,主键为(SNO,CNO)。在这两个关系中,无论主属性还是非主属性都不存在对键的部分依赖和传递依赖,S1BCNF,S2BCNF。分解后,S1和S2的函数依赖分别如图所示。关系SNC转

31、换成BCNF后,数据冗余度明显降低。学生的姓名只在关系S1中存储一次,学生要改名时,只需改动一条学生记录中的相应的SN值,从而不会发生修改异常。7/15/202330例4.4设关系模式TCS(T,C,S),T表示教师,C表示课程,S表示学生。语义假设是,每一位教师只讲授一门课程;每门课程由多个教师讲授;某一学生选定某门课程,就对应于一确定的教师。根据语义假设,TCS的函数依赖是:(S,C)T,(S,T)C,TC。函数依赖图如图4.13所示。1数据冗余。虽然每个教师只开一门课,但每个选修该教师该该门课程的学生元组都要记录这一信息。2插入异常。当某门课程本学期不开,自然就没有学生选修。没有学生选修

32、,因为主属性不能为空,教师上该门课程的信息就无法插入。同样原因,学生刚入校,尚未选课,有关信息也不能输入。3删除异常。如果选修某门课程的学生全部毕业,删除学生记录的同时,随之也删除了教师开设该门课程的信息。;4更新异常。当某个教师开设的某门课程改名后,所有选修该教师该门课程的学生元组都要进行修改,如果漏改某个数据,则破坏了数据的完整性。7/15/202331分析出现上述问题的原因在于主属性部分依赖于键,(S,T)C,因此关系模式还继续分解,转换成更高一级的范式BCNF,以消除数据库操作中的异常现象。将TCS分解为两个关系模式ST(S,T)和TC(T,C),消除函数依赖(S,T)C。其中ST的键

33、为S,TC的键为T。STBCNF,TCBCNF。这两个关系模式的函数依赖图分别如图4.15和4.16所示。关系模式TCS由规范到BCNF后,使原来存在的四个异常问题得到解决。1数据冗余降低。每个教师开设课程的信息只在TC关系中存储一次。2不存在插入异常。对于所开课程尚未有学生选修的教师信息可以直接存储在关系TC中,而对于尚未选修课程的学生可以存储在关系ST中。3不存在删除异常。如果选修某门课程的学生全部毕业,可以只删除关系ST中的相关学生记录,而不影响系关系TC中相应教师开设该门课程的信息。4不存在更新异常。当某个教师开设的某门课程改名后,只需修改关系TC中的一个相应元组即可,不会破坏数据的完

34、整性。如果一个关系数据库中所有关系模式都属于3NF,则已在很大程度上消除了插入异常和删除异常,但由于可能存在主属性对候选键的部分依赖和传递依赖,因此关系模式的分离仍不够彻底。如果一个关系数据库中所有关系模式都属于BCNF,那么在函数依赖的范畴内,已经实现了模式的彻底分解,消除了产生插入异常和删除异常的根源,而且数据冗余也减少到极小程度。7/15/202332规范化小结v规范化的过程是逐步消除关系模式中不合适的数据依赖的过程,使模型中的各个关系模式达到某种程度的分离。可以用下图概括规范化过程。7/15/202333各级范式的关系v各范式级别是在分析函数依赖的条件下对关系模式分离程度的一种测度。范

35、式级别可以逐渐升高。1NF直至BCNF的四种范式之间有如下关系:v BCNF包含3NF包含2NF包含1NFv一个关系模式达到了BCNF,说明在函数依赖的范畴内已经实现了彻底分离,可以消除插入、删除和更新等异常。下图给出实现了以上各级范式的关系之间的关系,达到了3NF关系必定满足1NF和2NF,以此类推。1NF2NF3NF4NFBCNF各级范式的关系7/15/202334关系模式的规范化小结v目目的的:规范化目的是使结构合理,清除存储异常使数据冗余尽量小,便于插入、删除和更新。v原原则则:遵从概念单一化“一事一地”原则,即一个关系模式描述一个实体或实体间的一种联系。规范的实质就是概念单化。v方方

36、法法:将关系模式投影分解成两个或两个以上的关系模式。v要要求求:分解后的关系模式集合应当与原关系模式“等价”,即经过自然联接可以恢复原关系而不丢失信息,并保持属性间合理的联系。7/15/202335v最小冗余要求必须在分解后的数据库能够表达原来数据库所有信息的前提下实现。其根本目标是节省存储空间,避免数据不一致性,提高对关系的操作效率,同时满足应用需求。在实际使用中,并不一定非要求全部模式都达到BCNF不可。带点冗余有时可能更方便查询,尤其是对于那些更新频度不高,查询频度较高的数据库系统更是如此。必须注意,一个关系模式经过分解可以得到不同的关系模式集合,也就是说分解方法并不唯一。7/15/20

37、2336很显然该表符合1NF这个表的关键字是学号,它是一个单属性关键字。因此学号就是主属性,而其它都是非主属性。所以只要学号相同,必然能推出,姓名,年龄,所在学校,学院地点和学院电话都相同。也就是说所有非关键字都完全依赖于任意一组关键字。因此,它符合2NF定义。属于2NF。看是否满足三范式,关键是看是否存在非关键字字段决定另外一个非关键字段的情况。也就是所谓的传递依赖。很显然,这个表中,只要所在学院相同,必然学院地点和学院电话就一定会相同的。所以明显存在所在学院学院地点,学院学院电话的依赖关系。而学号也必然决定所在学院,所以传递依赖就出现了:学号所在学院(学院地址,学院电话).所以这个表只能符

38、合2NF,不符合3NF定义。很简单,变成两个表即可。学号姓名年龄所在学院学院地点学院电话100190023100242007王美文苏新乐李锡张奎20182018电子科大四川大学乐山师院北京大学四川成都四川成都四川成都中国北京028-82736656028-832333220833-2276382010-24334324对下面的例子逐级规范化对下面的例子逐级规范化7/15/202337学生表学号姓名年龄所在学院1001王美文20电子科大9002苏新乐18四川大学31002李锡20乐山师院42007张奎18北京大学学院表所在学院学院地点学院电话电子科大四川成都028-82736656四川大学四川成

39、都028-83233322乐山师院四川成都0833-2276382北京大学中国北京010-24334324经分析学生表符合3NF的定义。再看学院表,所在学院学院地点,同样,学院电话学院地点。所以满足2NF定义。没有传递依赖,所以,满足3NF。7/15/202338本章小结v关系规范化和函数依赖v关系的各种范式7/15/202339作 业v假设某商业集团数据库中有一关系模式R如下:R(商业编号,商品编号,商品库存数量,部门编号,负责人)如果规定:(1)每个商店的每种商品只在该商店的一个部门销售;(2)每个商店的每个部门只有一个负责人;(3)每个商店的每种商品只有一个库存数量;回答下列问题(1)根据上述规定,写出关系模式R的基本函数依赖。(2)找出关系模式R的候选码。(3)问关系模式R最高已经达到第几范式?为什么?(4)如果R不属于3NF,请将R分级成3NF模式集。7/15/202340

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!