数据库课件第九章关系数据的规范化设计.ppt_第1页
数据库课件第九章关系数据的规范化设计.ppt_第2页
数据库课件第九章关系数据的规范化设计.ppt_第3页
数据库课件第九章关系数据的规范化设计.ppt_第4页
数据库课件第九章关系数据的规范化设计.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章 关系数据库的规范化设计 (第二章),第一节 关系模式的存储异常问题,例1 某贸易公司为保存客户的订单信息,设计了如下关系: CustomerOrder(Ono, Cno, Company, Address, Odate, Freight, Pno, Quantity),例2 学生信息关系模式,S ( 学号, 姓名, 性别, 系号, 系名, 系地址, 课程号, 课程名, 成绩 ),第二节 函数依赖,设R(U)是属性集U上的关系模式。X、Y是U的子集。若对R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记做XY,注意:函数依赖是针对关系模式本身,而不是针对某个实例。,一、函数依赖的定义,S ( 学号, 姓名, 性别, 系号, 系名, 系地址, 课程号, 课程名, 成绩 ) 中存在如下函数依赖:,(学号,课程号)成绩,学号姓名,学号 性别,学号 系号,系号 系名,系号 系地址,课程号 课程名,2、平凡依赖和非平凡依赖,注意: 平凡依赖总是成立的,所有在分析关系中的函数依赖时主要是考虑非平凡依赖。,(学号, 课程号)成绩,例 在关系(学号, 课程号, 成绩)中,有:,(学号, 课程号) 学号,平凡依赖,非平凡依赖,3、完全函数依赖,若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记做,所以,在 S ( 学号, 姓名, 性别, 系号, 系名, 系地址, 课程号, 课程名, 成绩 )中,有:,1)因为 (学号, 课程号)成绩,且,2)因为 学号姓名 所以,同理,4、传递依赖,例 在关系模式 S ( 学号, 姓名, 性别, 系号, 系名, 系地址, 课程号, 课程名, 成绩 )中,有:,学号 系号, 系号 系名,且 系号 学号,二、关系的码,设K为R(U, F)中的属性和属性组合,若,1、主码,则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。,包含在任何一个候选码中的属性为主属性;不包含在任何一个候选码中的属性为非主属性。,2、主属性和非主属性,关系模式R中属性或属性组X并非R的码,但X却与关系模式S的码相对应,则称X是R的外部码,简称外码。,3、外码,第三节 范式,1、定义:设R是一个关系模式,如果R中每一个属性A的值域中每一个值都是不可分解的,则称R属于第一范式(1NF)。,一、 第一范式(1NF),二、第二范式(2NF),1、定义:设R是一个关系模式,如果R属于第一范式,并且R中任何一个非主属性都完全函数依赖于R的任何一个候选码,则称R是第二范式(2NF)。,例: 分析关系 S ( 学号, 姓名, 性别, 系号, 系名, 系地址, 课程号, 课程名, 成绩 )是否属于2NF。,解:存在下列函数依赖关系:,学号 姓名 学号 性别 学号 系号,(学号, 课程号) 成绩,系号 系名 系号 系地址 课程号 课程名,S ( 学号, 姓名, 性别, 系号, 系名, 系地址, 课程号, 课程名, 成绩 ) 中,姓名、课程名等非主属性部分依赖于码 (学号, 课程号 ),所以关系S不属于2NF,由函数依赖关系得: (学号, 课程号)为候选码,姓名, 性别, 系号, 系名, 系地址, 课程名, 成绩 为非主属性;,将关系S进行如下拆分,S ( 学号, 姓名, 性别, 系号, 系名, 系地址, 课程号, 课程名, 成绩 ),S1( 学号,姓名,性别,系号,系名,系地址 ),S2( 课程号,课程名 ),拆分出的三个关系S1、S2、S3均为2NF。但是满足2NF的关系不能消除存储异常。,S3( 学号, 课程号,成绩 ),三、第三范式(3NF),1、定义:设R是一个关系模式,如果R属于2NF,且它的任何一个非主属性都不传递依赖于R的任何一个候选键,则称R是第三范式(3NF)。,解:S1中函数依赖关系为: 学号姓名 学号 性别 学号系号 系号系名 系号 系地址,例:分析关系 S1( 学号,姓名,性别,系号,系名,系地址 )是否为3NF。,由函数依赖关系得:,在关系S1中,码为:,学号,因为 学号系号系名 学号系号系地址 所以 关系S1不是 3NF,在关系S1中,非主属性为: 姓名, 性别, 系号, 系名, 系地址,将关系S1拆为S4、S5两个关系:,S1( 学号, 姓名, 性别, 系号, 系名, 系地址 ),S4( 学号, 姓名, 性别, 系号 ),S5(系号, 系名, 系地址 ),拆分出的两个关系S4、S5为3NF。 3NF的关系模式能在很多程度上消除插入异常和删除异常。,四、BC范式(BCNF),(1)所有非主属性对每个候选码都是完全函数依赖。 (2)每一个主属性对不包含它的候选码也是完全函数依赖的。 (3)没有任何属性完全依赖于非候选码的任何一组属性。,2、BCNF的性质:,3、定理 具有函数依赖F的关系模式R,如果R是BCNF,则也一定是3NF。 4、在函数依赖的范围内,BCNF实现了对关系模式的彻底分解,能消除插入和删除异常,达到了最高的规范化程度。,五、 范式间的联系,3NF在很大程度上消除了由函数依赖引起的存储异常。 BCNF完全消除了由函数依赖引起的数据冗余和其他存储异常,它是在函数依赖范畴内规范化程度最高的范式。 4NF则是考虑了多值依赖后规范化程度最高的范式,消除了由函数依赖和多值依赖引起的存储依赖问题。,第四节 关系模式的规范化,一、关系模式规范化的基本步骤 (1)将1NF的关系模式进行投影,分解为若干个2NF关系。(消除非主属性对码的部分依赖) (2)将2NF的关系模式进行投影,分解为若干个3NF关系。(消除非主属性对码的传递依赖) (3)将3NF的关系模式进行投影,分解为若干个BCNF。(消除主属性对码的部分和传递依赖) (4)将BCNF的关系模式进行投影,分解为若干个4NF。(消除多值依赖引起的问题),例1 对关系模式EMP(Eno,Dept,Manager)进行规范化。,第一种分解,分解是有损的,第二种分解,无损分解但是未保全函数依赖,二、无损连接和保持函数依赖的分解,1、无损连接的定义,设关系模式R被分解为若干个关系模式R1,R2,.,Rn,若R与R1,R2,.,Rn自然连接的结果相等,则称关系模式R的这个分解具有无损连接性。,EMP(Eno,Dept,Manager),ED(Eno,Dept),EM(Eno,Manager),例:关系模式无损连接的分解,2、保持函数依赖的分解,(1)定义:设关系模式R(U, F)被分解为若干个关系模式R1(U1, F1), R2(U2, F2), ., Rn(Un, Fn),若F中蕴含的任一函数依赖可以由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的分解是保持函数依赖的。,EMP(Eno,Dept,Manager),ED(Eno,Dept),EM(Dept,Manager),例:关系模式保持函数依赖的分解,3、保持函数依赖和无损连接是关系分解的两个相互独立的标准。 4、将关系模式分解到3NF可以同时满足无损连接和保持函数依赖两项要求,所以在进行关系模式分解时常常要分解到3NF。 5、若只要求分解具有无损连接性,那么一定可以分解到BCNF。,第五节 关系数据库设计,数据库设计的主要步骤:需求分析,概念设计,数据库实施。,一、需求分析 主要的任务: (1)明确用户的需求; (2)明确数据处理的流程; 需求分析完成后应该产生的文档有: (1)用户需求明细表; (2)数据流程图; (3)数据字典;,1、主要任务:建立应用的ER模型 2、建立ER模型的步骤: (1)建立局部ER图; (2)根据局部间的联系合并ER图。,二、概念设计,主要任务: (1)根据数据量要求选择DBMS; (2)将ER模型转换为DBMS中的若干表; (

温馨提示

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

评论

0/150

提交评论