5第五章第4讲关系模式的规范化

上传人:仙*** 文档编号:181899356 上传时间:2023-01-18 格式:PPT 页数:32 大小:340KB
返回 下载 相关 举报
5第五章第4讲关系模式的规范化_第1页
第1页 / 共32页
5第五章第4讲关系模式的规范化_第2页
第2页 / 共32页
5第五章第4讲关系模式的规范化_第3页
第3页 / 共32页
点击查看更多>>
资源描述
2023-1-16南晓数信学院1第第4讲讲 关系模式的规范化关系模式的规范化2023-1-16南晓数信学院2例例:R=(S#,C#,GRADE,TNAME,TADDR)R=(S#,C#,GRADE,TNAME,TADDR),F=C#F=C#TNAME,(S#,C#)TNAME,(S#,C#)GRADE,TNAMEGRADE,TNAMETADDRTADDR主要问题:主要问题:C#TNAMEC#TNAMETNAMETADDRC#TADDR(S#,C#)TADDR到底什么样的关系模式是最优的?到底什么样的关系模式是最优的?标准是什么?如何实现?标准是什么?如何实现?2023-1-16南晓数信学院3主要内容主要内容n范式范式n第一范式第一范式n第二范式第二范式n第三范式第三范式nBCNFn范式之间的关系和关系模式的规范化范式之间的关系和关系模式的规范化n向向3NF的模式分解算法的模式分解算法2023-1-16南晓数信学院4一、范式一、范式衡量关系模式好坏的标准就是关系模式的范衡量关系模式好坏的标准就是关系模式的范式(式(Normal Forms,简记为,简记为NF)。)。可以把范式的概念理解为符合某一条件的关可以把范式的概念理解为符合某一条件的关系模式的集合。系模式的集合。2023-1-16南晓数信学院5在一个关系模式在一个关系模式R R中,如果中,如果R R的的每一个属性的每一个属性的值域中的值都是值域中的值都是不可再分不可再分的最小数据单位的最小数据单位,则,则称称R R是第一范式(是第一范式(1NF1NF)的模式,也称)的模式,也称R R1NF。二、第一范式(二、第一范式(1NF)2023-1-16南晓数信学院6例例:R=(S#,C#,GRADE,TNAME,TADDR)R=(S#,C#,GRADE,TNAME,TADDR),F=C#F=C#TNAME,TNAME,(S#,C#)(S#,C#)GRADEGRADE,TNAME,TNAMETADDRTADDR二、第一范式(二、第一范式(1NF)(续(续1)2023-1-16南晓数信学院7二、第一范式(二、第一范式(1NF)(续(续2)2023-1-16南晓数信学院8二、第一范式(二、第一范式(1NF)(续(续3)2023-1-16南晓数信学院9三、第二范式(三、第二范式(2NF)定义:定义:如果一个关系模式如果一个关系模式R R是是1NF1NF,且它的,且它的每一个非每一个非主属性都完全函数依赖于候选键主属性都完全函数依赖于候选键,那么称,那么称R R是满是满足第二范式(足第二范式(2NF2NF)的关系模式。)的关系模式。(不存在部分不存在部分函数依赖函数依赖)2023-1-16南晓数信学院10三、第二范式(三、第二范式(2NF)(续)(续1)2023-1-16南晓数信学院11S#C#GRADETNAMETADDR200401001C40100190徐徐 浩浩a1200401001C40200290李阳洋李阳洋b1200401001C40300185宋宋 歌歌c1200401002C40100175徐徐 浩浩a1200401002C40200288李阳洋李阳洋b1200401003C40200269李阳洋李阳洋b1200402001C40100487徐徐 浩浩a1例例:R=(S#,C#,GRADE,TNAME,TADDR),R=(S#,C#,GRADE,TNAME,TADDR),F=C#F=C#TNAME,(S#,C#)TNAME,(S#,C#)GRADE,TNAMEGRADE,TNAMETADDR TADDR 三、第二范式(三、第二范式(2NF)(续)(续2)2023-1-16南晓数信学院12三、第二范式(三、第二范式(2NF)(续)(续3)2023-1-16南晓数信学院13例例:R R1 1(S#,C#,GRADES#,C#,GRADE),F,F1 1=(S#,C#)=(S#,C#)GRADEGRADE R R2 2(C#,TNAME,TADDRC#,TNAME,TADDR),F F2 2=C#=C#TNAME,TNAMETNAME,TNAMETADDRTADDRC#TNAMETADDRC401001徐徐 浩浩a1C402002李阳洋李阳洋b1C403001宋宋 歌歌c1C401004徐徐 浩浩a1S#C#GRADE200401001C40100190200401001C40200290200401001C40300185200401002C40100175200401002C40200288200401003C40200269200402001C40100487三、第二范式(三、第二范式(2NF)(续)(续4)r2r12023-1-16南晓数信学院14四、第三范式(四、第三范式(3NF)定义:定义:如果一个关系模式如果一个关系模式R R属于属于1NF1NF,且,且R R的的任何一任何一个个非主属性非主属性都不传递依赖于都不传递依赖于R R的候选键的候选键,那么称,那么称R R是满足第三范式(是满足第三范式(3NF3NF)的关系模式。)的关系模式。2023-1-16南晓数信学院15例例:R R1 1(S#,C#,GRADES#,C#,GRADE),F F1 1=(S#,C#)=(S#,C#)GRADEGRADE R R2 2(C#,TNAME,TADDRC#,TNAME,TADDR),F F2 2=C#=C#TNAME,TNAMETNAME,TNAMETADDRTADDR四、第三范式(四、第三范式(3NF)(续)(续1)2023-1-16南晓数信学院16例例:R R2 2(C#,TNAME,TADDRC#,TNAME,TADDR),F F2 2=C#=C#TNAME,TNAMETNAME,TNAMETADDRTADDRR R2121(C#,TNAMEC#,TNAME),F,F2121=C#=C#TNAMETNAMER R2222(TNAME,TADDRTNAME,TADDR),F,F2222=TNAME=TNAMETADDRTADDR四、第三范式(四、第三范式(3NF)(续)(续2)2023-1-16南晓数信学院17例例:在关系模式:在关系模式R(CITYR(CITY,STREETSTREET,ZIP)ZIP)中,中,候选候选键为键为CITY,STREETCITY,STREET和和ZIPZIP,STREETSTREET,F=CITY,STREETZIPF=CITY,STREETZIP,ZIPCITYZIPCITY。举例:举例:2023-1-16南晓数信学院18五、五、BCNF设有关系模式设有关系模式R(U,F),F是是R上的函数依赖集,上的函数依赖集,X和和A是是U的子集,且的子集,且A不是不是X的子集。如果的子集。如果对于对于F中的每一个函数依赖中的每一个函数依赖XA,X都是都是R的一个候的一个候选键选键,则称则称R是鲍依斯是鲍依斯-柯德范式,记为柯德范式,记为BCNF。(决定因素是决定因素是Key)2023-1-16南晓数信学院19五、五、BCNF(续)(续)例例:R(CITYR(CITY,STREETSTREET,ZIP)ZIP),候选键为候选键为CITY,STREETCITY,STREET和和ZIPZIP,STREETSTREET F=CITY,STREETZIP F=CITY,STREETZIP,ZIPCITYZIPCITY。2023-1-16南晓数信学院20六、范式之间的关系和关系模式的规范化六、范式之间的关系和关系模式的规范化2023-1-16南晓数信学院211、定理、定理一个一个3NF3NF的关系模式一定是的关系模式一定是2NF2NF的的一个一个BCNFBCNF的关系模式一定是的关系模式一定是3NF3NF的。的。证明:用反证法。设证明:用反证法。设R是是3NF的,但不是的,但不是2NF的,那的,那么一定存在非主属性么一定存在非主属性A、候选键、候选键X和和X的真子集的真子集Y,使,使得得YA XY 与假设矛盾,所以与假设矛盾,所以R也是也是2NF的。证毕。的。证毕。XA2023-1-16南晓数信学院222、范式之间的关系、范式之间的关系消除消除非主属性对侯选键的非主属性对侯选键的部分函数依赖部分函数依赖消除消除非主属性对侯选键的非主属性对侯选键的传递函数依赖传递函数依赖1NF2NF3NFBCNF消除消除主属性对侯选键的主属性对侯选键的部分或传递函数依赖部分或传递函数依赖2023-1-16南晓数信学院233、关系模式的规范化、关系模式的规范化 关系模式的规范化就是通过对模式进行关系模式的规范化就是通过对模式进行分分解解,将一个属于低级范式的关系模式转换成若,将一个属于低级范式的关系模式转换成若干个属于高级范式的关系模式的过程,从而解干个属于高级范式的关系模式的过程,从而解决或部分解决数据冗余、更新异常等问题。决或部分解决数据冗余、更新异常等问题。2023-1-16南晓数信学院24七、向七、向3NF的模式分解算法的模式分解算法算法算法5.5 5.5 一个关系模式向一个关系模式向3NF3NF的的保持依赖性保持依赖性的分解的分解输入:关系模式输入:关系模式R(U,F)R(U,F),R R上的函数依赖集上的函数依赖集F F(最小依赖集最小依赖集)输出:输出:R R的一个保持依赖的分解的一个保持依赖的分解=R=R1 1,R R2 2,R Rk k,每个每个R Ri i为为3NF(i=1,2,3NF(i=1,2,k),k)。方法:方法:2023-1-16南晓数信学院25七、向七、向3NF的模式分解算法(续的模式分解算法(续1)(1 1)若有函数依赖)若有函数依赖XAXA F F,且,且XA=RXA=R,则,则=R=R,转,转(5)(5);(2 2)找出)找出R R的的不在不在F F中出现的所有属性中出现的所有属性,并把这些属性构成,并把这些属性构成一个关系模式。然后把这些属性一个关系模式。然后把这些属性从从U U中去掉中去掉,将剩余的,将剩余的属性仍记为属性仍记为U U。(3 3)对)对F F中的函数依赖按具有中的函数依赖按具有相同左部相同左部的原则进行分组,的原则进行分组,并按合并规则将每一组合并成一个新的函数依赖。比如并按合并规则将每一组合并成一个新的函数依赖。比如若有若有XAXA1 1,XAXA2 2,XAXAm m,则可以将它们合并成,则可以将它们合并成XAXA1 1A A2 2A Am m。(4 4)对于)对于F F中的每一个中的每一个XYXY,都构成一个关系模式,都构成一个关系模式R Ri i=XY=XY。(5 5)停止分解,输出)停止分解,输出。2023-1-16南晓数信学院26例例:R=(S#,C#,GRADE,TNAME,TADDR)R=(S#,C#,GRADE,TNAME,TADDR),F=C#F=C#TNAME,(S#,C#)TNAME,(S#,C#)GRADE,TNAMEGRADE,TNAMETADDRTADDR七、向七、向3NF的模式分解算法(续的模式分解算法(续2)2023-1-16南晓数信学院27具有函数依赖性具有函数依赖性.证明证明 P124 P124 略略2023-1-16南晓数信学院28七、向七、向3NF的模式分解算法(续的模式分解算法(续3)定理定理5.9 5.9 向向3NF3NF的的无损联接并保持依赖无损联接并保持依赖的分解的分解 设设=R=R1 1,R R2 2,R Rk k 是由算法是由算法5.55.5得到的得到的R R的的3NF3NF分解,分解,X X是是R R的一个候选键,则的一个候选键,则 =R=R1 1,R R2 2,R Rk k,X X 也是也是R R的一个分解。的一个分解。分解分解 中的所有关系模式是中的所有关系模式是3NF3NF的,且分解的,且分解 保保持依赖和具有无损联接性。持依赖和具有无损联接性。2023-1-16南晓数信学院29例例:R=(S#,C#,GRADE,TNAME,TADDR)R=(S#,C#,GRADE,TNAME,TADDR),F=C#F=C#TNAME,(S#,C#)TNAME,(S#,C#)GRADE,TNAMEGRADE,TNAMETADDRTADDR七、向七、向3NF的模式分解算法(续的模式分解算法(续4)2023-1-16南晓数信学院30小结小结消除消除非主属性对侯选键的非主属性对侯选键的部分函数依赖部分函数依赖消除消除非主属性对侯选键的非主属性对侯选键的传递函数依赖传递函数依赖1NF2NF3NFBCNF消除消除主属性对侯选键的主属性对侯选键的部分或传递函数依赖部分或传递函数依赖2023-1-16南晓数信学院31关系模型的规范化设计方法关系模型的规范化设计方法 从语义的角度,确定每个关系模式的从语义的角度,确定每个关系模式的函数依赖集函数依赖集;求每个关系模式的函数依赖集的求每个关系模式的函数依赖集的最小依赖集最小依赖集,确,确定每个模式的定每个模式的候选键候选键;分析关系模式中存在的属性对侯选键的部分和传分析关系模式中存在的属性对侯选键的部分和传递依赖,确定递依赖,确定规范级别规范级别;进行模式分解,必须保证分解的两个特性,即进行模式分解,必须保证分解的两个特性,即无无损联接损联接和和保持依赖保持依赖。小结(续)小结(续)2023-1-16南晓数信学院32知识体系知识体系解决途径解决途径
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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