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





《关系的规范化(数据库原理与应用).ppt》由会员分享,可在线阅读,更多相关《关系的规范化(数据库原理与应用).ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、DataBase魏英魏英 tutor_ 7952616 第五章第五章 关系的规范化关系的规范化教学内容教学内容理解关系规范化的必要性理解关系规范化的必要性掌握函数依赖的有关概念掌握函数依赖的有关概念掌握掌握1NF,2NF,3NF,BCNF和和4NF的定义的定义掌握关系模式的分解方法掌握关系模式的分解方法教学重点教学重点关系模式的分解方法关系模式的分解方法教学难点教学难点关系模式的范式关系模式的范式DataBase魏英魏英 tutor_ 7952616 关系规范化关系规范化一个工资报表的实例一个工资报表的实例工程号工程号 工程名称工程名称 职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时
2、实发工资实发工资A1花园大厦花园大厦1001齐光明齐光明 工程师工程师65138451002李思岐李思岐 技术员技术员60169601004葛宇洪葛宇洪律师律师60191140小计小计2945A2立交桥立交桥1001齐光明齐光明 工程师工程师65159751003鞠明亮鞠明亮工人工人5517935小计小计1910A3临江饭店临江饭店1002李思岐李思岐 技术员技术员601810801004葛宇洪葛宇洪律师律师6014840小计小计1920总计总计6775DataBase魏英魏英 tutor_ 7952616 关系规范化关系规范化按照工资报表设计一个表按照工资报表设计一个表工程号工程号 工程名称
3、工程名称 职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时实发工资实发工资A1花园大厦花园大厦1001齐光明齐光明 工程师工程师65138451002李思岐李思岐 技术员技术员60169601004葛宇洪葛宇洪律师律师60191140A2立交桥立交桥1001齐光明齐光明 工程师工程师65159751003鞠明亮鞠明亮工人工人5517935A3临江饭店临江饭店1002李思岐李思岐 技术员技术员601810801004葛宇洪葛宇洪律师律师6014840工程号工程号 工程名称工程名称 职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时A1花园大厦花园大厦1001齐光明齐光明 工程师工程
4、师6513A1花园大厦花园大厦1002李思岐李思岐 技术员技术员6016A1花园大厦花园大厦1004葛宇洪葛宇洪律师律师6019A2立交桥立交桥1001齐光明齐光明 工程师工程师6515A2立交桥立交桥1003鞠明亮鞠明亮工人工人5517A3临江饭店临江饭店1002李思岐李思岐 技术员技术员6018A3临江饭店临江饭店1004葛宇洪葛宇洪律师律师6014设计一个关系模式设计一个关系模式R(工程号,工程名称,职工号,姓名,职务,小时工资率,工程号,工程名称,职工号,姓名,职务,小时工资率,工时工时)DataBase魏英魏英 tutor_ 7952616 关系规范化关系规范化典型问题典型问题数据冗
5、余数据冗余:如果一个职工参与多个工程项目,那么这:如果一个职工参与多个工程项目,那么这个职工的职工号,姓名,职务和小时工资率就要重复个职工的职工号,姓名,职务和小时工资率就要重复几次存储。几次存储。操作异常操作异常修改异常修改异常:一个职工参与了多个工程项目,如果其职务发:一个职工参与了多个工程项目,如果其职务发生变化,就必须修改多个元组,否则就会产生数据不一致生变化,就必须修改多个元组,否则就会产生数据不一致插入异常插入异常:一个新来的职工尚未参与任何工程项目,那么:一个新来的职工尚未参与任何工程项目,那么要将其职工号,姓名,职务和小时工资率存储到关系中时,要将其职工号,姓名,职务和小时工资
6、率存储到关系中时,在工程号和工程名称属性上就没有值在工程号和工程名称属性上就没有值(空值空值)删除异常删除异常:如果一个职工只参与一个工程项目,要取消其:如果一个职工只参与一个工程项目,要取消其任务时,将同时删除其职工号,姓名,职务和小时工资信任务时,将同时删除其职工号,姓名,职务和小时工资信息息DataBase魏英魏英 tutor_ 7952616 关系规范化关系规范化改进后的关系模式改进后的关系模式工程号工程号 工程名称工程名称A1花园大厦花园大厦A2立交桥立交桥A3临江饭店临江饭店职工号职工号姓名姓名职务职务小时工资率小时工资率1001齐光明齐光明 工程师工程师651002李思岐李思岐
7、技术员技术员601003鞠明亮鞠明亮工人工人551004葛宇洪葛宇洪律师律师60工程工程(工程号,工程名称工程号,工程名称)职工职工(职工号,姓名,职务,小时工资率职工号,姓名,职务,小时工资率)工程号工程号 职工号职工号工时工时A1100113A1100216A1100419A2100115A2100317A3100218A3100414报酬报酬(工程号,职工号,工时工程号,职工号,工时)DataBase魏英魏英 tutor_ 7952616 关系规范化关系规范化关系规范化是从关系规范化是从微观微观角度研究关系模式中属性与角度研究关系模式中属性与属性之间的函数依赖性,判断关系模式中设计的属性
8、之间的函数依赖性,判断关系模式中设计的合理性合理性,解决数据库设计的,解决数据库设计的优化优化问题问题规范化是通过一组不同级别的规范化是通过一组不同级别的范式范式判定关系规范判定关系规范化的程度,确认产生数据异常的原因,并通过关化的程度,确认产生数据异常的原因,并通过关系模式的系模式的分解分解方法,消除数据异常方法,消除数据异常规范化设计理论主要包括三方面内容:规范化设计理论主要包括三方面内容:数据依赖数据依赖,范式范式和和模式设计方法模式设计方法DataBase魏英魏英 tutor_ 7952616 函数依赖函数依赖在数据依赖中,函数依赖在数据依赖中,函数依赖(Functional Depe
9、ndency)是最基本、最重要的一种依赖是最基本、最重要的一种依赖定义定义:设有关系模式:设有关系模式R(U),U是属性集合,是属性集合,X和和Y是是U的子集,对于的子集,对于R(U)的的任意任意一个可能的关系一个可能的关系r,如果,如果r中不存在两个元组中不存在两个元组t和和s,使得,使得tX=sX而而tYsY,则称属性集,则称属性集X函数函数决定决定属性集属性集Y,或称属性集,或称属性集Y函数依赖函数依赖属性集属性集X,记为记为XYDataBase魏英魏英 tutor_ 7952616 函数依赖函数依赖例例5.1:学生关系模式为学生:学生关系模式为学生(学号,姓名,性别,学号,姓名,性别,
10、系名称,系地址系名称,系地址)学号学号 姓名姓名 性别性别 系名称系名称 系地址系地址101 张三张三男男计算机计算机C102 李四李四男男计算机计算机C103 王五王五女女计算机计算机C104 赵六赵六女女经管经管B105 张三张三女女理学理学A学生关系的学生关系的FD集为集为:FD=学号学号姓名,姓名,学号学号性别,性别,学号学号系名称,系名称,学号学号系地址系地址系名称系名称系地址系地址也可记为:也可记为:学号学号姓名,性别,系名称,系地址姓名,性别,系名称,系地址系名称系名称系地址系地址DataBase魏英魏英 tutor_ 7952616 函数依赖函数依赖函数依赖是关系模式函数依赖是
11、关系模式R上属性之间需要满足的约上属性之间需要满足的约束条件,属于束条件,属于语义语义范畴的概念,只能根据语义来范畴的概念,只能根据语义来确定确定若若XY且且YX,则记为,则记为XY例例:设有关系模式:设有关系模式R(A,B,C,D),在,在R的关系的关系中,属性值之间存在以下联系:中,属性值之间存在以下联系:A值与值与B值有一对值有一对多联系,多联系,C值与值与D值有一对一联系,试根据这些规值有一对一联系,试根据这些规则写出则写出R的的FD集集A值与值与B值有一对多联系:值有一对多联系:BAC值与值与D值有一对一联系:值有一对一联系:CD和和DC,或,或CDDataBase魏英魏英 tuto
12、r_ 7952616 函数依赖与主码的联系函数依赖与主码的联系实际上,实际上,FD是是主码主码概念的推广,是属性之间所发概念的推广,是属性之间所发生的联系生的联系设关系模式设关系模式R的属性集是的属性集是U,X是是U的一个子集的一个子集如果如果XU在在R上成立,则称上成立,则称X是是R的一个的一个超码超码如果如果XU在在R上成立,但对于上成立,但对于X的任一真子集的任一真子集X1都有都有X1U不成立,则称不成立,则称X是是R的一个的一个候选码候选码DataBase魏英魏英 tutor_ 7952616 函数依赖图函数依赖图学号学号 姓名姓名 性别性别 系名称系地址系名称系地址主码与主码与非主属
13、性非主属性之间的函数依赖之间的函数依赖其它属性之间的函数依赖其它属性之间的函数依赖如果如果A是关系模式是关系模式R中候选码的属性,则称中候选码的属性,则称A是是R的的主主属性属性,否则,称,否则,称A是是R的的非主属性非主属性之间的函数依赖之间的函数依赖DataBase魏英魏英 tutor_ 7952616 平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,如果,如果XY,且,且Y X,则称,则称XY是是平凡函数依赖平凡函数依赖在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,如果,如果XY,且,且Y
14、X,则称,则称XY是是非平凡函数依赖非平凡函数依赖对于任意关系模式,平凡函数依赖都必然成立对于任意关系模式,平凡函数依赖都必然成立DataBase魏英魏英 tutor_ 7952616 完全函数依赖完全函数依赖在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,如果,如果XY,并且对于,并且对于X的任何真子集的任何真子集X,都不存在,都不存在XY,则称,则称Y完全函数依赖完全函数依赖于于X,否则称,否则称Y部分函部分函数依赖数依赖于于X例例5.2:已知关系模式成绩:已知关系模式成绩(学号,姓名,课程号,学号,姓名,课程号,课程名称,学时,分数课程名称,学时,分数),其,其FD集
15、为:集为:学号学号姓名姓名课程号课程号课程名称,学时课程名称,学时学号,课程号学号,课程号分数分数学号,课程号学号,课程号姓名姓名学号,课程号学号,课程号课程名称,学时课程名称,学时fffpp学号学号 姓名姓名 课程号课程号 课程名称课程名称 学时学时 分数分数DataBase魏英魏英 tutor_ 7952616 传递函数依赖传递函数依赖在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X、Y和和Z,如,如果果XY,YZ,且,且Y X,Z Y,不存在,不存在YX,则,则称称Z传递函数依赖传递函数依赖于于X例例5.3:已知关系模式:已知关系模式SDP(学号,姓名,系名称学号,姓名,系名
16、称,系地址,系地址),其,其FD集为:集为:学号学号姓名,系名称,系地址姓名,系名称,系地址系名称系名称系地址系地址学号学号系地址系地址t学号姓名系名称系地址学号姓名系名称系地址DataBase魏英魏英 tutor_ 7952616 关系模式的范式关系模式的范式衡量关系模式好坏的标准就是模式的衡量关系模式好坏的标准就是模式的范式范式(Normal Forms)范式的种类与数据依赖有着直接联系范式的种类与数据依赖有着直接联系基于基于FD的范式:的范式:1NF,2NF,3NF,BCNF基于多值依赖的范式:基于多值依赖的范式:4NF一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过模式分解
17、模式分解可以可以转换为若干个高一级范式的关系模式的集合,这转换为若干个高一级范式的关系模式的集合,这种过程就叫做种过程就叫做规范化规范化DataBase魏英魏英 tutor_ 7952616 第一范式第一范式定义定义:在关系模式:在关系模式R的每个关系的每个关系r中,如果每个属中,如果每个属性值都是不可再分的性值都是不可再分的原子值原子值,则称,则称R为第一范式为第一范式的模式,即的模式,即R 1NF1NF是关系模式应具备的最基本条件,满足是关系模式应具备的最基本条件,满足1NF的关系称为的关系称为规范化的关系规范化的关系,否则称为,否则称为非规范化的非规范化的关系关系满足满足1NF的关系中所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 规范化 数据库 原理 应用

限制150内