关系的规范化(数据库原理与应用).ppt

上传人:牧羊曲112 文档编号:5928607 上传时间:2023-09-05 格式:PPT 页数:34 大小:257.63KB
返回 下载 相关 举报
关系的规范化(数据库原理与应用).ppt_第1页
第1页 / 共34页
关系的规范化(数据库原理与应用).ppt_第2页
第2页 / 共34页
关系的规范化(数据库原理与应用).ppt_第3页
第3页 / 共34页
关系的规范化(数据库原理与应用).ppt_第4页
第4页 / 共34页
关系的规范化(数据库原理与应用).ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《关系的规范化(数据库原理与应用).ppt》由会员分享,可在线阅读,更多相关《关系的规范化(数据库原理与应用).ppt(34页珍藏版)》请在三一办公上搜索。

1、,第五章 关系的规范化,教学内容理解关系规范化的必要性掌握函数依赖的有关概念掌握1NF,2NF,3NF,BCNF和4NF的定义掌握关系模式的分解方法教学重点关系模式的分解方法教学难点关系模式的范式,关系规范化,一个工资报表的实例,关系规范化,按照工资报表设计一个表,设计一个关系模式R(工程号,工程名称,职工号,姓名,职务,小时工资率,工时),关系规范化,典型问题数据冗余:如果一个职工参与多个工程项目,那么这个职工的职工号,姓名,职务和小时工资率就要重复几次存储。操作异常修改异常:一个职工参与了多个工程项目,如果其职务发生变化,就必须修改多个元组,否则就会产生数据不一致插入异常:一个新来的职工尚

2、未参与任何工程项目,那么要将其职工号,姓名,职务和小时工资率存储到关系中时,在工程号和工程名称属性上就没有值(空值)删除异常:如果一个职工只参与一个工程项目,要取消其任务时,将同时删除其职工号,姓名,职务和小时工资信息,关系规范化,改进后的关系模式,工程(工程号,工程名称),职工(职工号,姓名,职务,小时工资率),报酬(工程号,职工号,工时),关系规范化,关系规范化是从微观角度研究关系模式中属性与属性之间的函数依赖性,判断关系模式中设计的合理性,解决数据库设计的优化问题规范化是通过一组不同级别的范式判定关系规范化的程度,确认产生数据异常的原因,并通过关系模式的分解方法,消除数据异常规范化设计理

3、论主要包括三方面内容:数据依赖,范式和模式设计方法,函数依赖,在数据依赖中,函数依赖(Functional Dependency)是最基本、最重要的一种依赖定义:设有关系模式R(U),U是属性集合,X和Y是U的子集,对于R(U)的任意一个可能的关系r,如果r中不存在两个元组t和s,使得tX=sX而tYsY,则称属性集X函数决定属性集Y,或称属性集Y函数依赖属性集X,记为XY,函数依赖,例5.1:学生关系模式为学生(学号,姓名,性别,系名称,系地址),学生关系的FD集为:FD=学号姓名,学号性别,学号系名称,学号系地址系名称系地址,也可记为:学号姓名,性别,系名称,系地址系名称系地址,函数依赖,

4、函数依赖是关系模式R上属性之间需要满足的约束条件,属于语义范畴的概念,只能根据语义来确定若XY且YX,则记为XY例:设有关系模式R(A,B,C,D),在R的关系中,属性值之间存在以下联系:A值与B值有一对多联系,C值与D值有一对一联系,试根据这些规则写出R的FD集A值与B值有一对多联系:BAC值与D值有一对一联系:CD和DC,或CD,函数依赖与主码的联系,实际上,FD是主码概念的推广,是属性之间所发生的联系设关系模式R的属性集是U,X是U的一个子集如果XU在R上成立,则称X是R的一个超码如果XU在R上成立,但对于X的任一真子集X1都有X1U不成立,则称X是R的一个候选码,函数依赖图,学号姓名性

5、别系名称系地址,主码与非主属性之间的函数依赖,其它属性之间的函数依赖,如果A是关系模式R中候选码的属性,则称A是R的主属性,否则,称A是R的非主属性之间的函数依赖,平凡函数依赖与非平凡函数依赖,在关系模式R(U)中,对于U的子集X和Y,如果XY,且YX,则称XY是平凡函数依赖在关系模式R(U)中,对于U的子集X和Y,如果XY,且YX,则称XY是非平凡函数依赖对于任意关系模式,平凡函数依赖都必然成立,完全函数依赖,在关系模式R(U)中,对于U的子集X和Y,如果XY,并且对于X的任何真子集X,都不存在XY,则称Y完全函数依赖于X,否则称Y部分函数依赖于X例5.2:已知关系模式成绩(学号,姓名,课程

6、号,课程名称,学时,分数),其FD集为:学号姓名课程号课程名称,学时学号,课程号分数学号,课程号姓名学号,课程号课程名称,学时,f,f,f,p,p,学号 姓名 课程号 课程名称 学时 分数,传递函数依赖,在关系模式R(U)中,对于U的子集X、Y和Z,如果XY,YZ,且YX,ZY,不存在YX,则称Z传递函数依赖于X例5.3:已知关系模式SDP(学号,姓名,系名称,系地址),其FD集为:学号姓名,系名称,系地址系名称系地址,学号姓名系名称系地址,关系模式的范式,衡量关系模式好坏的标准就是模式的范式(Normal Forms)范式的种类与数据依赖有着直接联系基于FD的范式:1NF,2NF,3NF,B

7、CNF基于多值依赖的范式:4NF一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫做规范化,第一范式,定义:在关系模式R的每个关系r中,如果每个属性值都是不可再分的原子值,则称R为第一范式的模式,即R1NF1NF是关系模式应具备的最基本条件,满足1NF的关系称为规范化的关系,否则称为非规范化的关系满足1NF的关系中所有非主属性都依赖于码,第一范式,将非规范化关系转换成1NF:P131工资(工程号,工程名称,职工号,姓名,职务,小时工资率,工时),第一范式,FD集工程号工程名称职工号姓名,职务,小时工资率工程号,职工号工程名称,姓名,职务,小时工资率,

8、工时,第一范式,分析满足1NF的关系中可能存在大量数据冗余,将导致数据异常(修改、插入、删除)和数据不一致性产生上述问题的原因为关系中存在部分函数依赖,第二范式,定义:如果关系模式R1NF,且每个非主属性完全函数依赖于候选码,则称R为第二范式的模式,即R2NF算法:将关系模式R分解成2NF模式集设有关系模式R(U),主码是W,R上还存在FDXZ,其中Z是非主属性,XW,则WZ就是一个局部函数依赖,此时应把R分解成两个模式R1(X,Z):主码是XR2(Y):其中Y=U-Z,主码仍是W,外码是X(参考R1)如果R1和R2还不是2NF,则重复上述过程,直到数据库模式中每一个关系模式都是2NF为止,第

9、二范式,将1NF转换成2NF:P133工资(工程号,工程名称,职工号,姓名,职务,小时工资率,工时)1NF工程(工程号,工程名称)2NF职工(职工号,姓名,职务,小时工资率)2NF报酬(工程号,职工号,工时)2NF,第二范式,第二范式的关系可能还会存在数据冗余现象,可能引起修改异常、插入异常和删除异常,工程师,65,造成上述数据异常的原因在于存在传递函数依赖,第三范式,定义:如果关系模式R1NF,且每个非主属性都不传递函数依赖于候选码,则称R为第三范式的模式,即R3NF定理:如果R是3NF模式,那么R也是2NF算法:将关系模式R分解成3NF模式集设有关系模式R(U),主码是W,R上还存在FDX

10、Z,其中Z是非主属性,ZX且X不是候选码,则WZ就是一个传递函数依赖,此时应把R分解成两个模式R1(X,Z):主码是XR2(Y):其中Y=U-Z,主码仍是W,外码是X(参考R1)如果R1和R2还不是3NF,则重复上述过程,直到数据库模式中每一个关系模式都是3NF为止,第三范式,将1NF转换成3NF工资(工程号,工程名称,职工号,姓名,职务,小时工资率,工时)1NF先转换成2NF工程(工程号,工程名称)2NF职工(职工号,姓名,职务,小时工资率)2NF报酬(工程号,职工号,工时)2NF再将不属于3NF的关系模式转换成3NF级别(职务,小时工资率)3NF职工(职工号,姓名,职务)3NF,3NF,3

11、NF,第三范式,在绝大多数情况下,一个数据库的所有关系都满足3NF,就基本达到数据库设计的目标在实际应用中,有时为了系统的或其它需要,可能会保留一定的数据冗余,但一定要估计到数据冗余可能产生的后果,权衡利弊级别(职务代码,职务,小时工资率)职工(职工号,姓名,职务代码),BC范式,一个汽车公司的零件配送例子每个配送中心有多名职工,且每名职工只能在一个中心工作每个配送中心有多种零件,且每种零件在任意配送中心都能买到每个配送中心的职工按照零件的分类实施管理,在一个配送中心内部,一个职工管理着多种零件,而每一种零件只能由一个职工管理,BC范式,公司零件汇总表,配送(配送中心,零件号,职工号,存货数量

12、,存货状态),候选码,主属性:配送中心,零件号,职工号,BC范式,配送关系的函数依赖图,配送中心零件号职工号存货数量存货状态,配送关系3NF,主属性对候选码的传递依赖,定义:如果关系模式R1NF,且每个属性都不传递函数依赖于候选码,则称R为BC范式的模式,即RBCNF,BC范式,算法:将关系模式R分解成BCNF模式集设R(U)BCNF,则R上一定存在非平凡函数依赖XZ,其中X不包含码。此时应把R分解成两个模式:R1(X,Z),主码为XR2(Y),Y=U-Z,主码与R相同,外码是X(参考R1)如果R1和R2还不是BCNF,则重复上述过程,直到数据库模式中每一个关系模式都是BCNF为止将配送关系转

13、换成BCNF职工(职工号,配送中心)零件(职工号,零件号,存货数量,存货状态),规范化与数据库设计,E-R模型方法主要从宏观角度解决一个企业内部所有数据需求和数据联系的设计问题当将E-R模型转换成关系数据模型后,为进一步提高数据库应用系统的性能,还应该根据应用需要适当地进行优化规范化方法则是从微观角度研究某个关系模式的性质,但并不是规范化程度越高的关系就越优,一般规范到3NF即可,规范化与数据库设计,零件配送的E-R图,配送中心,职工,零件,聘用,1,n,配送,m,n,管理,m,n,冗余联系,关系模型低效的主要是连接运算引起的,当查询经常涉及到两个或多个关系模式的属性时,可以考虑将这几个关系合

14、并成一个关系。,多值依赖,定义:在关系R中有属性A、B和C,若对于A的一个给定值,存在B的一组值与其对应,而B的这一组值又不以任何方式与C的任何值相关,则称B多值依赖于A(或A决定B的多个值),记为AB例:教师(教工号,课程名称,学术团体),教工号课程名称,教工号学术团体,3NF,BCNF,问题:插入异常、删除异常、更新异常,第四范式,定义:如果关系RBCNF,且不存在多值依赖,则R属于第四范式,记为R4NF将教师关系分解成4NF模式集教学(教工号,课程名称)学术(教工号,学术团体),规范化小结,各种范式之间的关系,1NF,2NF,3NF,BCNF,4NF,各种范式的规范化过程,1NF,2NF,3NF,BCNF,4NF,消除决定因素非码的非平凡函数依赖,消除非主属性对码的部分函数依赖,消除非主属性对码的传递函数依赖,消除主属性对码的部分和传递函数依赖,消除非平凡且非函数依赖的多值依赖,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号