数据库-规范化理论

上传人:宝路 文档编号:47104529 上传时间:2018-06-29 格式:PPT 页数:35 大小:320.96KB
返回 下载 相关 举报
数据库-规范化理论_第1页
第1页 / 共35页
数据库-规范化理论_第2页
第2页 / 共35页
数据库-规范化理论_第3页
第3页 / 共35页
数据库-规范化理论_第4页
第4页 / 共35页
数据库-规范化理论_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数据库-规范化理论》由会员分享,可在线阅读,更多相关《数据库-规范化理论(35页珍藏版)》请在金锄头文库上搜索。

1、数据库设计规范化理论数据库原理与应用Principle and Application of DataBase 1兰州理工大学计算机与通信学院关系数据库设计中存在的问题关系数据库设计中存在的问题示例:考虑为管理职工的工资信息而设计一个关系模式。数据库原理与应用Principle and Application of DataBase 2兰州理工大学计算机与通信学院在表中包含着两类信息:职工个人的工资信息;各个级别的工资数额。数据库原理与应用Principle and Application of DataBase 问题:如果我希望知道在这个单位8级工的工资是多少,能否查询到?3兰州理工大学计算

2、机与通信学院l问题:插入异常:如果没有职工具有8 级工资,则8 级工资的工资数额就难以插入 数据库原理与应用Principle and Application of DataBase l 删除异常:如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了。4兰州理工大学计算机与通信学院数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次。数据库原理与应用Principle and Application of DataBase 更新异常:如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改。5兰州理工大学计算机与通信学院l解决

3、之道:分解 !数据库原理与应用Principle and Application of DataBase 6兰州理工大学计算机与通信学院有关学生的关系模式 S(学号 , 姓名 , 系号 , 主任 , 课程编号 , 成绩 )它有哪些数据冗余?数据库原理与应用Principle and Application of DataBase 7兰州理工大学计算机与通信学院 规范化理论问题的提出针对一个具体问题,如何构造一个合适的数据模式。即应该构造几个关系模式(表),每个关系有那些属性组成?数据库原理与应用Principle and Application of DataBase 8兰州理工大学计算机与通

4、信学院数据库原理与应用Principle and Application of DataBase 定 义:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记为XY。记号 xy 称x函数确定y,或y函数依赖于x。称X为决定因素。如 学号 姓名, (学号,课程) 成绩 9兰州理工大学计算机与通信学院注 意:函数依赖是语义范畴的概念,我们只能根据语义来确定函数依赖。例如在没有同名的情况下,姓名年龄 是成立的,而在有同名的情况下,这个函数依赖就不成立了。平凡函数依

5、赖:如果X Y,但Y不是X的子集,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。如(学号,姓名) 姓名 是平凡的函数依赖数据库原理与应用Principle and Application of DataBase 10兰州理工大学计算机与通信学院函数依赖可分为三类:完全函数依赖,部分函数依赖和传递函数依赖。 定 义:在R(U)中有X、YU,如果XY,并且对于X的任何一个真子集X ,都有Y不函数依赖于X,则称Y对X是完全函数依赖的。定 义:在R(U)中,如果XY,并且对于X的某个真子集X,有XY,则称Y对X部分函数依赖。定 义:在R(U)中,如果XY(Y不包含于X,X不依赖于Y ),且 YZ,

6、则称Z对X传递函数依赖。数据库原理与应用Principle and Application of DataBase 11兰州理工大学计算机与通信学院例 1:某单位有一资料室,它管理的数据有读者 信息、图书信息、借阅信息。读者信息:借书证号,读者姓名,性别,部门,学历,部门电话,个人电话,电子信箱等; 图书信息:图书编号,分类号,书名,作者,出 版社,单价等; 借阅信息:借书证号,图书编号,书名,借出日 期,应还日期等。数据库原理与应用Principle and Application of DataBase 12兰州理工大学计算机与通信学院函数依赖关系(读者信息):借书证号读者姓名借书证号性别

7、借书证号部门借书证号学历部门部门电话借书证号个人电话借书证号电子信箱数据库原理与应用Principle and Application of DataBase 13兰州理工大学计算机与通信学院函数依赖关系(图书信息):图书编号分类号图书编号书名图书编号作者图书编号出版社图书编号单价函数依赖关系(借阅信息):图书编号书名借书证号、图书编号,借出日期应还日期数据库原理与应用Principle and Application of DataBase 14兰州理工大学计算机与通信学院多值依赖函数依赖关系是一种关系模式内属性间较为明显的依 赖关系,但是随着人们对关系模式的了解越来越深刻,发 现尚有另外的

8、一些依赖关系存在,多值依赖就是其中的一 种。例如,有一个课程关系COURSE(如下表所示)。课课程名CNAME教师师名TEACH选选用参考书书BOOK数据库库原理李勇 张张明 王阳数据库库管理系统统 数据库库系统统数据结结构任学琴 李瑞 张张文其数据结结构习题习题 集 算法分析 数据结结构上机指导导数据库原理与应用Principle and Application of DataBase 15兰州理工大学计算机与通信学院CNAMETEAC HBOOK数据库库原理李勇数据库库管理系统统 数据库库原理李勇数据库库系统统 数据库库原理张张明数据库库管理系统统 数据库库原理张张明数据库库系统统 数据库

9、库原理王阳数据库库管理系统统 数据库库原理王阳数据库库系统统 数据结结构任学琴数据结结构习题习题 集 数据结结构任学琴算法分析 数据结结构任学琴数据结结构上机指导导 数据结结构李瑞数据结结构习题习题 集 数据结结构李瑞算法分析 数据结结构李瑞数据结结构上机指导导 数据结结构张张文其数据结结构习题习题 集 数据结结构张张文其算法分析 数据结结构张张文其数据结结构上机指导导从这个关系中可以 看出两点: (1) 该关系的数据冗 余很大。 (2) 该关系的属性间 有一种有别于函数依 赖的依赖关系存在。16兰州理工大学计算机与通信学院范式理论1NF:任一属性不能同时具有多个值(关系中每一分量不可再分。即

10、不能以集合、序列等作为属性值)。2NF:属性必须完全依赖唯一标识符。3NF:属性间不存在传递依赖。BCNF:每一个决定因素都包含码。数据库原理与应用Principle and Application of DataBase 17兰州理工大学计算机与通信学院例 2 :R(学号,姓名,课程编号,课程名称,学分,成绩)唯一标识符(Key): (学号,课程编号) 数据库原理与应用Principle and Application of DataBase 不符合2NF依赖关系: 学号姓名,课程编号 课程名称,课程编号学分 ,(学号,课程编号) 成绩18兰州理工大学计算机与通信学院例 3 :S(学号,姓名

11、,性别,学院,院长)。唯一标识符(Key): 学号 数据库原理与应用Principle and Application of DataBase 不符合3NF依赖关系: 学号姓名,学号性别,学号学院,学院院长19兰州理工大学计算机与通信学院数据库原理与应用Principle and Application of DataBase 问题的解决办法:拆分关系(表)20兰州理工大学计算机与通信学院关于例 2R(学号,姓名,课程编号,课程名称,学分,成绩)R1 (学号,姓名)R2(课程编号,课程名称,学分)R3(学号,课程编号,成绩)学号姓名,课程编号 课程名称,课程编号学分, (学号,课程编号) 成绩

12、数据库原理与应用Principle and Application of DataBase 21兰州理工大学计算机与通信学院关于例 3S(学号,姓名,性别,学院,院长)S1(学号,姓名,性别,学院)S2(学院,院长)学号姓名,学号性别,学号学院,学院院长数据库原理与应用Principle and Application of DataBase 22兰州理工大学计算机与通信学院例 4:某部队拟建立干部档案,数据项有:编号,姓名,现军衔,现任职务,入伍日期,最高学历,低级军衔及获得日期,曾担任职务及任命日期,所取得各学历及取得日期。数据库原理与应用Principle and Application

13、 of DataBase 23兰州理工大学计算机与通信学院函数依赖关系:编号姓名,编号现军衔,编号现任职务,编号入伍日期,编号最高学历,编号之前军衔,(编号,低级军衔)获得日期,编号曾担任职务,(编号,曾担任职务)任命日期,编号各学历,(编号,各学历)取得日期数据库原理与应用Principle and Application of DataBase 24兰州理工大学计算机与通信学院表1(编号,姓名,现军衔,现任职务,入伍日期,最高学历)表2(编号,低级军衔,获得日期)表3(编号,曾担任职务,任命日期)表4(编号,学历,取得日期)。 数据库原理与应用Principle and Applicati

14、on of DataBase 25兰州理工大学计算机与通信学院规范化步骤2NF 3NF BCNF 4NF数据库原理与应用Principle and Application of DataBase 规范化的目的就是构造 合适的关系模式。26兰州理工大学计算机与通信学院数据库原理与应用Principle and Application of DataBase 范式之间的关系范式之间的关系定定 理理: : 3NF 2NF。反证:若R3NF, 但R2NF,则按2NF定义,一 定有非主属性部分依赖于码;设X为R的码,则存在X的真子集S,以及非主属性Z( 其中S 不包含于Z ),使得S Z 成立;于是在R

15、中存在码X,属性组S,以及非主属性Z,使 得XS,SZ 成立,进而有 SX成立;这与R3NF矛盾, 所以R2NF。27兰州理工大学计算机与通信学院数据库原理与应用Principle and Application of DataBase 定定 理:理:关系模式R(U)若满足BCNF,则必定满足3NF。证明略,请大家看参考书。28兰州理工大学计算机与通信学院模式分解中的问题模式分解中的问题l实例 表(职工,级别,工资)可以有两种分解途径, 分解一:(职工,工资),(工资,级别)姓名级别级别工资资 赵赵4500 钱钱5600 孙孙6700 李7600姓名工资 赵500 钱600 孙700 李600

16、级别工资 4500 5600 6700 7600丢失函 数依赖分解二:(职工,级别),(工资,级别)不同行业机构的不同工资级别会有相同工资数额。按分 解一,有可能导致同一职工对应不同的工资级别,从而丢失了 有关职工工资级别的信息(丢失了函数依赖:职工级别)。29兰州理工大学计算机与通信学院R(A, B, C)ABC 112 221AB 11 22BC 12 21ABC 112 221AB(R)BC(R)AB(R)BC(R)R(A, B, C)ABC 111 212AB 11 21BC 11 12ABC 111 112 211 212AB(R)BC(R)AB(R)BC(R)有损分解无损分解30兰州理工大学计算机与通信学院将R分解为R1和R2的分解是无损连接分解的条件是,R1R2 R1,或R1R2 R2。如果有R上的函数依赖X Y成立,且X Y是空集,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号