关系数据库的规范化理论与数据库设计.ppt
《关系数据库的规范化理论与数据库设计.ppt》由会员分享,可在线阅读,更多相关《关系数据库的规范化理论与数据库设计.ppt(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三级数据库技术三级数据库技术第7章 关系数据库的规范化理论与数据库设计本部分占总分的本部分占总分的8%8%主要内容:主要内容:规范化理论概述规范化理论概述函数依赖函数依赖关系模式分解关系模式分解数据库设计过程数据库设计过程2n了解关系模式设计的常见问题及应对措施,了解关系模式设计的常见问题及应对措施,是学习本章的前提和基础是学习本章的前提和基础n函数依赖定义、逻辑蕴含、码、函数依赖定义、逻辑蕴含、码、armstrongarmstrong公理、常用范式和关系模式分解方法考试公理、常用范式和关系模式分解方法考试重点重点n函数依赖、关系模式规范化程度和模式分函数依赖、关系模式规范化程度和模式分析等价
2、标准是重中之重析等价标准是重中之重3n学习本章的目的:学习本章的目的:n针对具体应用,数据要存储,需要什么样的关系模式,解决关系数据库的逻辑设计问题(如何建表)n要建合适的表,需要学习规范化理论47.1 7.1 关系模式中的常见问题关系模式中的常见问题考点考点1 1 关系模式设计的常见问题关系模式设计的常见问题n已知数据库要存储已知数据库要存储 教师的姓名和地址,还要存教师的姓名和地址,还要存储教师教的课程号和课程储教师教的课程号和课程n设计的关系模式:设计的关系模式:T T(TNAME,ADDRESS,CNO,CNAME)TNAME,ADDRESS,CNO,CNAME)其中,其中,TNAME
3、-TNAME-教师姓名,教师姓名,ADDRESS-ADDRESS-教师地址,教师地址,CNO-CNO-任教课程号,任教课程号,CNAME-CNAME-课程名称。一个教师可以教多门课程课程名称。一个教师可以教多门课程TNAMETNAMEADDRESSADDRESSCNOCNOCNAMECNAME王明王明1818栋栋302302043043机械设计机械设计刘宏刘宏2121栋栋503503056056高等数学高等数学王明王明1818栋栋302302041041管道工程管道工程李红李红1717栋栋503503002002数据结构数据结构6n该关系模式可能出现如下该关系模式可能出现如下问题:问题:n数据
4、冗余数据冗余n更新异常更新异常(多个记录更新,(多个记录更新,容易产生数据不一致)容易产生数据不一致)n插入异常插入异常:TNAME,CNOTNAME,CNO码,码,某个教师没上课,某个教师没上课,CNOCNO为空,为空,不能插入)不能插入)n删除异常删除异常:某个教师课程:某个教师课程全部删除,教师的地址姓全部删除,教师的地址姓名信息全部删除名信息全部删除TNAMETNAMEADDRESSADDRESSCNOCNOCNAMECNAME王明王明1818栋栋302302043043机械设计机械设计刘宏刘宏2121栋栋503503056056高等数学高等数学王明王明1818栋栋3023020410
5、41管道工程管道工程李红李红1717栋栋503503002002数据结构数据结构如何设计一个好的关系模式,如何设计一个好的关系模式,需要学习规范化理论需要学习规范化理论7考题考题1 1、下列哪一条不是由于关系模式设计不当所引起的问题?、下列哪一条不是由于关系模式设计不当所引起的问题?A A)数据冗余)数据冗余 B B)插入异常)插入异常 C C)更新异常)更新异常 D D)丢失修改)丢失修改 D 2009.03D 2009.032 2、由于关系模式设计不当所引起的插入异常指的是、由于关系模式设计不当所引起的插入异常指的是A A、两个事务并发地对同一关系进行插入而造成数据库不一致、两个事务并发地
6、对同一关系进行插入而造成数据库不一致B B、由于码值的一部分为空而不能将有用的信息作为一个元组插入到关系、由于码值的一部分为空而不能将有用的信息作为一个元组插入到关系中中C C、没经授权的用户对关系进行插入、没经授权的用户对关系进行插入D D、插入操作因为违反完整性约束条件而遭到拒绝、插入操作因为违反完整性约束条件而遭到拒绝B 2008.09 2005.09B 2008.09 2005.0983 3、下列哪些条是由于关系模式设计不当引起的问题?、下列哪些条是由于关系模式设计不当引起的问题?I I、数据冗余、数据冗余 IIII、插入异常、插入异常 IIIIII、删除异常、删除异常IVIV、丢失修
7、改、丢失修改 V V 级联回滚级联回滚A A、仅、仅IIII和和III BIII B、仅、仅I I、IIII和和III CIII C、仅、仅I I、IVIV和和V DV D、仅、仅IIII、IIIIII和和IVIVB 2008.04B 2008.044 4、由于关系模式设计不当所引起的更新异常指的是、由于关系模式设计不当所引起的更新异常指的是A A、两个事务并发地对同一个数据项进行更新而造成数据库不一致、两个事务并发地对同一个数据项进行更新而造成数据库不一致B B、关系的不同元组中数据冗余,更新时未能同时更新有关元组而造成数、关系的不同元组中数据冗余,更新时未能同时更新有关元组而造成数据库不一
8、致据库不一致C C、未经授权的用户对数据进行了更新、未经授权的用户对数据进行了更新D D、对数据的更新因为违反完整性约束条件而遭到拒绝、对数据的更新因为违反完整性约束条件而遭到拒绝B 2007.09B 2007.099n下列关于规范化理论的叙述中,哪一条是不正确的?下列关于规范化理论的叙述中,哪一条是不正确的?A A)规范化理论是数据库设计的理论基础)规范化理论是数据库设计的理论基础 B B)规范化理论最主要的应用是在数据库概念结构设计阶段)规范化理论最主要的应用是在数据库概念结构设计阶段 C C)规范化理论最主要的应用是在数据库逻辑结构设计阶段)规范化理论最主要的应用是在数据库逻辑结构设计阶
9、段 D D)在数据库设计中,有时候会降低规范化程度而追求高查询)在数据库设计中,有时候会降低规范化程度而追求高查询性能性能B 2009.04B 2009.04,2008.092008.09 10考点考点2 2 函数依赖函数依赖n例例 在关系模式在关系模式R R(SNO,NAME,AGE)SNO,NAME,AGE)中,中,根据语义根据语义 一个一个SNOSNO值对应一个值对应一个AGEAGE值,不可能出现一个值,不可能出现一个SNOSNO值对应两个值对应两个AGEAGE值,我们称值,我们称 SNOSNO函数决定函数决定AGEAGE,写作,写作SNO-SNO-AGEAGE或或AGEAGE函数依赖于
10、函数依赖于SNOSNO 如果一个如果一个AGEAGE对应一个对应一个SNO,SNO,但我们决不能认为但我们决不能认为AGEAGE函数决定函数决定SNOSNO,因为它不符合语义,因为它不符合语义 11n函数依赖定义函数依赖定义 设设R(UR(U)是属性集)是属性集U U上的一个关系模式,上的一个关系模式,X X和和Y Y均为均为U U的子集。若对于的子集。若对于R R(U U)的任一个可)的任一个可能的关系能的关系r,rr,r中不可能有两个元组在中不可能有两个元组在X X中的中的属性值相等,而在属性值相等,而在Y Y中的属性值不等,那么中的属性值不等,那么称称X X函数决定函数决定Y XY XY
11、,Y,或或Y Y函数依赖于函数依赖于X X X X为决定因素为决定因素12一、函数依赖一、函数依赖例如:学生(例如:学生(SnoSno,SnameSname,SdeptSdept,SageSage)n由于在所有的元组中,由于在所有的元组中,SnoSno都是唯一的,因此,都是唯一的,因此,SnoSno函数确定函数确定SnameSname 和和 SdeptSdept。n如果规定如果规定SnameSname不能重复,那么在所有的元组不能重复,那么在所有的元组中中SnameSname也都是唯一的,可以说,也都是唯一的,可以说,SnameSname函数确函数确定定SdeptSdept,或者说,或者说,S
12、deptSdept函数依赖于函数依赖于SnameSname 记作:记作:SnameSname SdeptSdeptn或者说,或者说,SnameSname 和和 SdeptSdept函数依赖于函数依赖于SnoSnoSnoSno SnameSname,SnoSno SdeptSdept13几个术语和符号几个术语和符号l如果如果 XYXY,则,则 X X 叫做叫做决定因素决定因素(DeterminantDeterminant)l如果如果 XY XY,Y X Y X,则记作:,则记作:X X Y Y l如果如果Y Y不函数依赖于不函数依赖于X X,则记作:,则记作:XYXY 14二、平凡函数依赖与非平
13、凡函数依赖二、平凡函数依赖与非平凡函数依赖l如果如果 XYXY,但,但 Y Y X X,则称,则称 XY XY 是非平凡的函数依是非平凡的函数依赖赖l如果如果 XYXY,但,但 Y Y X,X,则称则称 XY XY 是是平凡的函数依平凡的函数依赖赖例:在关系例:在关系 SCSC(SnoSno,CnoCno,Grade,Grade)中,中,非平凡函数依赖:非平凡函数依赖:(SnoSno,CnoCno)GradeGrade 平凡函数依赖:平凡函数依赖:(SnoSno,CnoCno)SnoSno (SnoSno,CnoCno)CnoCno15三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依
14、赖定义定义5.2 5.2 在关系模式在关系模式 R R(U U)中,如果)中,如果XYXY,并且对于并且对于 X X 的任何一个的任何一个真子集真子集XX,都有都有 X YX Y,则称则称 Y Y 完全函数依赖于完全函数依赖于 X X,记作:记作:X X F F Y Y 若若XYXY,但,但Y Y不完全函数依赖于不完全函数依赖于X X,则称则称 Y Y 部分函数依部分函数依赖于赖于X X,记作:记作:X X P P Y Y16三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖例例:在关系在关系 SCSC(SnoSno,CnoCno,GradeGrade)中,中,用用X X 表示表示(
15、SnoSno,CnoCno),),用用Y Y 表示表示 GradeGrade,那么,那么,(SnoSno,CnoCno)GradeGrade但是但是 SnoSno Grade Grade,CnoCno Grade Grade,因此因此 (SnoSno,CnoCno)F F GradeGrade 17四、传递函数依赖四、传递函数依赖定义定义5.3 5.3 在关系模式在关系模式R(U)R(U)中,如果中,如果XYXY,YZYZ,且,且Y Y X X,YXYX,则称则称 Z Z 传递函数依赖传递函数依赖于于X X。注注:如果如果YXYX,即即 XYXY,则称则称Z Z 直接函数依赖直接函数依赖于于X
16、 X。例例:在关系在关系 StdStd(SnoSno,SdeptSdept,MnameMname)中,有:)中,有:SnoSno SdeptSdept,SdeptSdept MnameMname MnameMname 传递函数依赖于传递函数依赖于SnoSno18五、函数依赖的逻辑蕴含五、函数依赖的逻辑蕴含n设设RR是一个关系模式,是一个关系模式,X,YX,Y是是U U中属性组,中属性组,F F是函数依是函数依赖集,若在赖集,若在RR的任何一个满足的任何一个满足F F中函数依赖的关系中函数依赖的关系r r上,上,都有函数依赖都有函数依赖X-YX-Y成立,则称成立,则称F F逻辑蕴含逻辑蕴含X-Y
17、X-Y(F F推导出推导出X-X-Y)Y)n例如例如 关系模式关系模式S(SNO,NAME,AGE,DNO,DEAN),S(SNO,NAME,AGE,DNO,DEAN),其属性组上的其属性组上的函数依赖集为函数依赖集为 F=SNO-NAME,SNO-AGE,SNO-DNO,DNO-DEANF=SNO-NAME,SNO-AGE,SNO-DNO,DNO-DEAN SNO-DEAN SNO-DEAN就是就是F F所逻辑蕴含所逻辑蕴含(推导出)的一个函数依赖推导出)的一个函数依赖在关系模式在关系模式RR中为中为F F所逻辑蕴含的函数依赖全体称为所逻辑蕴含的函数依赖全体称为F F闭闭包,包,F+F+19
18、 码码定义定义 n设设 K K 为关系模式为关系模式 RR中的属性或属性组合。若中的属性或属性组合。若 K K U U,并且不存在并且不存在K K的真子集决定的真子集决定U U,则,则 K K 称为称为 R R 的一个的一个侯选码侯选码(Candidate Key)(Candidate Key)。若关系模式。若关系模式 R R 有多个候选码,则选定其中有多个候选码,则选定其中的一个做为的一个做为主码主码(Primary keyPrimary key)。)。n主属性与非主属性主属性与非主属性n全码(全码(ALL KEYALL KEY):主码为关系模式所有属性):主码为关系模式所有属性20n例:关
19、系模式例:关系模式CSZ(CITY,ST,ZIP)CSZ(CITY,ST,ZIP)其属性组其属性组上的函数依赖为上的函数依赖为 F=F=(CITY,ST)-ZIP,ZIP-CITYCITY,ST)-ZIP,ZIP-CITY 推导后推导后(CITY,ST)(CITY,ST)和(和(ST,ZIP)ST,ZIP)为候选码,所为候选码,所以以CITY,ST,ZIPCITY,ST,ZIP都是主属性都是主属性 21ArmstrongArmstrong公理系统(推理规则)公理系统(推理规则)n设设F F是属性组是属性组U U上的一组函数依赖,有如下上的一组函数依赖,有如下推理规则推理规则n自反律:若Y X
20、U,则X-Y为F逻辑蕴含(推导出)n增广律:若X-Y为F逻辑蕴含,且Z U,则XZ-YZ为F逻辑蕴含n传递律:若X-Y及Y-Z为F所逻辑蕴含,则X-Z为F所逻辑蕴含22n例:关系模式例:关系模式CSZ(CITY,ST,ZIP)CSZ(CITY,ST,ZIP)其属性组其属性组上的函数依赖为上的函数依赖为 F=F=(CITY,ST)-ZIP,ZIP-CITYCITY,ST)-ZIP,ZIP-CITY证明证明 (ST,ZIP)(ST,ZIP)是候选码是候选码 1 1、ZIP-CITY FZIP-CITY F中已知中已知 2 2、(ST,ZIP)-(ST,CITY)(ST,ZIP)-(ST,CITY)
21、增广律增广律 3 3、(、(ST,ZIP)-(ST,CITY,ZIP)ST,ZIP)-(ST,CITY,ZIP)增广律增广律23ArmstrongArmstrong的推论的推论n合并规则:合并规则:X-Y,Y-Z,X-Y,Y-Z,则则X-YZX-YZn伪传递规则:伪传递规则:X-Y,WY-Z,X-Y,WY-Z,则则XW-ZXW-Zn分解规则:分解规则:X-Y,Z X-Y,Z Y,Y,则则X-ZX-Z关系模式码的确定关系模式码的确定1 1、找出、找出F F集合的所有决定因素,即集合的所有决定因素,即-左边属左边属性,组合为性,组合为U1U12 2、从、从U1U1中找出最小属性组中找出最小属性组K
22、 K,使,使K-UK-U则则K K为候选码,再找出其他候选码为候选码,再找出其他候选码24考题考题1 1、下列哪一条不属于、下列哪一条不属于ArmstrongArmstrong公理系统中公理系统中的基本推理规则?的基本推理规则?A A、若、若Y Y X,X,则则X-YX-YB B、若、若X-YX-Y,则,则XZ-YZXZ-YZC C、若、若X-Y,X-Y,且且Z Z Y,Y,则则X-ZX-ZD D、若、若X-YX-Y,且,且Y-ZY-Z,则,则X-ZX-ZA A 自反律自反律 B B 增广律增广律 C C分解律分解律 D D 传递律传递律C 2009.03C 2009.03252 2、Arms
23、trongArmstrong公理系统中的增广律的含义公理系统中的增广律的含义:设设RR是一个是一个关系模式,关系模式,X,YX,Y是是U U中属性组,若中属性组,若X-YX-Y为为F F所逻辑蕴含,且所逻辑蕴含,且Z Z U U,则,则【1 1】为为F F所逻辑蕴含所逻辑蕴含XZ-ZY 2008.09XZ-ZY 2008.093 3、下列关于部分函数依赖的叙述中,哪条是正确的?、下列关于部分函数依赖的叙述中,哪条是正确的?A A、若、若X-Y,X-Y,且存在且存在Y Y的真子集的真子集Y,X-Y,Y,X-Y,则则Y Y对对X X部分函数依赖部分函数依赖B B、若、若X-Y,X-Y,且存在且存在
24、Y Y的真子集的真子集Y,X-Y,Y,X-Y,则则Y Y对对X X部分函数依赖部分函数依赖C C、若、若X-Y,X-Y,且存在且存在X X的真子集的真子集XX,X-Y,X-Y,则则Y Y对对X X部分函数依赖部分函数依赖D D、若、若X-Y,X-Y,且存在且存在X X的真子集的真子集XX,X-Y,X-Y,则则Y Y对对X X部分函数依赖部分函数依赖C 2007.09C 2007.09263 3、设有关系模式、设有关系模式R R(B B,C C,M M,T T,A A,G G),),根据语义有如下函数依赖集:根据语义有如下函数依赖集:F=B-F=B-C,(M,T)-B,(M,C)-T,(M,A)
25、-T,(A,B)-C,(M,T)-B,(M,C)-T,(M,A)-T,(A,B)-G,G,关系模式关系模式R R的码是的码是【1 1】(1 1)取出函数依赖的左部,)取出函数依赖的左部,B,M,T,C,AB,M,T,C,A(2)(2)找出最小组合决定其他属性,找出最小组合决定其他属性,M M,A A274 4、下列关于函数依赖的叙述中,哪一条是不正确的?、下列关于函数依赖的叙述中,哪一条是不正确的?A A、若、若X-Y,Y-Z,X-Y,Y-Z,则则X-ZX-ZB B、若、若X-Y,YX-Y,Y Y,Y,则则X-YX-YC C、若、若X-Y,XX-Y,X X,X,则则X-YX-YD D、若、若X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 规范化 理论 设计
限制150内