关系模式的规范化.ppt

上传人:牧羊曲112 文档编号:6091910 上传时间:2023-09-23 格式:PPT 页数:31 大小:265KB
返回 下载 相关 举报
关系模式的规范化.ppt_第1页
第1页 / 共31页
关系模式的规范化.ppt_第2页
第2页 / 共31页
关系模式的规范化.ppt_第3页
第3页 / 共31页
关系模式的规范化.ppt_第4页
第4页 / 共31页
关系模式的规范化.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《关系模式的规范化.ppt》由会员分享,可在线阅读,更多相关《关系模式的规范化.ppt(31页珍藏版)》请在三一办公上搜索。

1、第4讲 关系模式的规范化,第5章 关系数据库模式设计,例:R=(S#,C#,GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GRADE,TNAMETADDR,主要问题:,C#TNAME,C#TNAME,TNAMETADDR,C#TADDR,(S#,C#)TADDR,到底什么样的关系模式是最优的?标准是什么?如何实现?,主要内容,范式第一范式第二范式第三范式BCNF范式之间的关系和关系模式的规范化向3NF的模式分解算法,一、范式,衡量关系模式好坏的标准就是关系模式的范式(Normal Forms,简记为NF)。可以把范式的概念理解为符合某一条件的关系模式的集合。,在一个关

2、系模式R中,如果R的每一个属性的值域中的值都是不可再分的最小数据单位,则称R是第一范式(1NF)的模式,也称R1NF。,二、第一范式(1NF),1NF是最基本的范式,满足1NF的关系称为规范化的关系,否则,称为非规范化的关系。,例:R=(S#,C#,GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GRADE,TNAMETADDR,结论:R不是1NF模式,二、第一范式(1NF)(续1),解决方法 对于有子表的非规范关系,一般采用重复所在行的其它属性的值,增加新的记录,从而把子表中的值分开,将非规范关系转换成规范关系。,二、第一范式(1NF)(续2),例:R=(S#,C#,

3、GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GRADE,TNAMETADDR,结论:R是1NF模式,二、第一范式(1NF)(续3),三、第二范式(2NF),定义:如果一个关系模式R是1NF,且它的每一个非主属性都完全函数依赖于候选键,那么称R是满足第二范式(2NF)的关系模式。,例:R=(S#,C#,GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GRADE,TNAMETADDR,三、第二范式(2NF)(续1),部分依赖,结论:R不是2NF模式,例:R=(S#,C#,GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GR

4、ADE,TNAMETADDR,三、第二范式(2NF)(续2),R1,R2,例:R=(S#,C#,GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GRADE,TNAMETADDR,三、第二范式(2NF)(续3),例:R1(S#,C#,GRADE),F1=(S#,C#)GRADE R2(C#,TNAME,TADDR),F2=C#TNAME,TNAMETADDR,三、第二范式(2NF)(续4),结论:R1和R2是2NF模式,r2,r1,结论:R2中仍然存在数据冗余和操作异常,四、第三范式(3NF),定义:如果一个关系模式R属于1NF,且R的任何一个非主属性都不传递依赖于R的候

5、选键,那么称R是满足第三范式(3NF)的关系模式。,例:R1(S#,C#,GRADE),F1=(S#,C#)GRADE R2(C#,TNAME,TADDR),F2=C#TNAME,TNAMETADDR,结论:R1 是3NF模式 R2不是3NF模式,四、第三范式(3NF)(续1),例:R2(C#,TNAME,TADDR),F2=C#TNAME,TNAMETADDR,R21(C#,TNAME),F21=C#TNAMER22(TNAME,TADDR),F22=TNAMETADDR,四、第三范式(3NF)(续2),例:在关系模式R(CITY,STREET,ZIP)中,候选键为CITY,STREET和Z

6、IP,STREET,F=CITY,STREETZIP,ZIPCITY。,结论:R是3NF模式,举例:,主属性对候选键的部分依赖,五、BCNF,定义:设有关系模式R(U,F),F是R上的函数依赖集,X和A是U的子集,且A不是X的子集。如果对于F中的每一个函数依赖XA,X都是R的一个候选键,则称R是鲍依斯-柯德范式,记为BCNF。,结论:R不是BCNF模式,五、BCNF(续),例:R(CITY,STREET,ZIP),候选键为CITY,STREET和ZIP,STREET F=CITY,STREETZIP,ZIPCITY。,六、范式之间的关系和关系模式的规范化,?,是3NF的关系模式,是否一定就是2

7、NF模式,思考,?,是BCNF的关系模式,是否一定就是3NF模式,1、定理,定理5.6:一个3NF的关系模式一定是2NF的。定理5.7:一个BCNF的关系模式一定是3NF的。,证明:用反证法。设R是3NF的,但不是2NF的,那么一定存在非主属性A、候选键X和X的真子集Y,使得YA XY 与假设矛盾,所以R也是2NF的。证毕。,XA,2、范式之间的关系,消除非主属性对侯选键的部分函数依赖,消除非主属性对侯选键的传递函数依赖,1NF,2NF,3NF,BCNF,消除主属性对侯选键的部分或传递函数依赖,3、关系模式的规范化,关系模式的规范化就是通过对模式进行分解,将一个属于低级范式的关系模式转换成若干

8、个属于高级范式的关系模式的过程,从而解决或部分解决数据冗余、更新异常等问题。,七、向3NF的模式分解算法,算法5.5 一个关系模式向3NF的保持依赖性的分解输入:关系模式R(U,F),R上的函数依赖集F(最小依赖集)输出:R的一个保持依赖的分解=R1,R2,Rk,每个Ri为3NF(i=1,2,k)。方法:,七、向3NF的模式分解算法(续1),(1)若有函数依赖XAF,且XA=R,则=R,转(5);(2)找出R的不在F中出现的所有属性,并把这些属性构成一个关系模式。然后把这些属性从U中去掉,将剩余的属性仍记为U。(3)对F中的函数依赖按具有相同左部的原则进行分组,并按合并规则将每一组合并成一个新

9、的函数依赖。比如若有XA1,XA2,XAm,则可以将它们合并成XA1A2Am。(4)对于F中的每一个XY,都构成一个关系模式Ri=XY。(5)停止分解,输出。,F是最小函数依赖集,C#,TNAME,S#,C#,GRADE,TNAME,TADDR,R1(C#,TNAME),R2(S#,C#,GRADE),R3(TNAME,TADDR),,保持依赖性,例:R=(S#,C#,GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GRADE,TNAMETADDR,七、向3NF的模式分解算法(续2),七、向3NF的模式分解算法(续3),定理5.9 向3NF的无损联接并保持依赖的分解 设

10、=R1,R2,Rk是由算法5.5得到的R的3NF分解,X是R的一个候选键,则=R1,R2,Rk,X 也是R的一个分解。分解中的所有关系模式是3NF的,且分解保持依赖和具有无损联接性。,R1(C#,TNAME),R2(S#,C#,GRADE),R3(TNAME,TADDR),,保持依赖性,结论:该分解保持依赖和具有无损联接性,例:R=(S#,C#,GRADE,TNAME,TADDR),F=C#TNAME,(S#,C#)GRADE,TNAMETADDR,七、向3NF的模式分解算法(续4),小结,消除非主属性对侯选键的部分函数依赖,消除非主属性对侯选键的传递函数依赖,1NF,2NF,3NF,BCNF,消除主属性对侯选键的部分或传递函数依赖,保证数据库中各关系模式属于2NF是数据库逻辑设计中的最低要求。,在多数情况下,数据库模式中的关系模式要求达到3NF。,关系模型的规范化设计方法 从语义的角度,确定每个关系模式的函数依赖集;求每个关系模式的函数依赖集的最小依赖集,确定每个模式的候选键;分析关系模式中存在的属性对侯选键的部分和传递依赖,确定规范级别;进行模式分解,必须保证分解的两个特性,即无损联接和保持依赖。,小结(续),知识体系,问题原因,方法,解决途径,本章总结,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号