第7章 关系数据库理论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号 98001 98001 98001 98001 98002 姓名 李华 李华 李华 李华 张平 年龄 20 20 20 20 21 性别 男 男 男 男 女 系名 计算机系 计算机系 计算机系 计算机系 计算机系 系主任 王民 王民 王民 王民 王民 课程名 程序设计 数据结构 数据库 电路 程序设计 成绩 88 74 82 65 92
姓名 李华 李华 李华 李华 张平
年龄 20 20 20 20 21
性别 男 男 男 男 女
系名 计算机系 计算机系 计算机系 计算机系 计算机系
系主任 王民 王民 王民 王民 王民
课程名 程序设计 数据结构 数据库 电路 程序设计
成绩 88 74 82 65 92
98002
98002 98002 98003 98003 98003 98003
则: 学号 → 系主任。所以学生_系3NF。 如果分解为: 学生(学号,姓名,年龄,性别,系名); 教学系(系名,系主任). 显然分解后的各子模式均属于3NF。
传递
6. BCNF的定义
是由Boyce和Codd提出的,比3NF又进了一步,通常认为是修正的第三范式.

关系模式R〈U,F〉1NF。若X→Y且Y X时X必含有码, 则R〈U,F〉BCNF。 也就是说,关系模式R〈U,F〉中,若每一个决定因素都包 含码,则R〈U,F〉BCNF。由BCNF的定义可以得到结论, 一个满足BCNF的关系模式有:
7.2 关系模式的分解算法 7.3 关系系统及查询优化技术
7.1 关系数据模式的规范化理论

范式(Normal Form)是指规范化的关系模 式。由满足最基本规范化的关系模式叫第一范式, 第一范式的关系模式再满足另外一些约束条件就产 生了第二范式、第三范式、BC范式等等。一个低 一级的关系范式通过模式分解可以转换成若干高一 级范式的关系模式的集合,这种过程叫关系模式的 规范化。
1、设有如下所示的关系R(码为:课程名) 问:(1)该关系模式为第几范式?为什么? (2)是否存在删除操作异常?若存在,则说明在什 么情况下发生的? (3)将它分解为高一级范式,分解后的关系是如何 解决分解前可能存在的删除操作异常问题的? 关系R 课程名 教师名 教师地址 C1 王小强 D1 C2 李鸿雁 D2 C3 王小强 D1 C4 张言 D1
例如,对于教学关系模式:教学〈U,F〉; U={学号,姓名,年龄,性别,系名,系主 任,课程名,成绩}; F={学号→姓名,学号→年龄,学号→性别, 学号→系名,系名→系主任,(学号,课程 名)→成绩}.
2. 函数依赖的概念
① X→Y,但Y X,则称X→Y是非平凡 的函数依赖。 ② X→Y,但YX,则称X→Y是平凡的函 数依赖。 学号→学号,(学号,性别) →学号 ③ 若X→Y,则X叫做决定因素 (Determinant),Y叫做依赖因素 (Dependent)。 ④ 若X→Y,Y→X,则记作X↔Y。 ⑤ 若Y不函数依赖于X,则记作X Y。
7.2 关系模式的分解算法 7.2.1 关系模式分解的算法基础
1. 函数依赖的逻辑蕴含 设F是模式R〈U〉的函数依赖集,X和Y是属性集U的子集。如果从F中的 函数依赖能推出X→Y,则称F逻辑蕴含X→Y,或称X→Y是F的逻辑蕴含。 2. Armstrong公理系统 (1) Armstrong公理系统 设U为属性集,F是U上的函数依赖集,于是有关系模式R〈U,F〉。对R 〈U,F〉来说,有以下的推理规则。 1) 自反律:若YXU,则X→Y为F所蕴含。 2) 增广律:若X→Y为F所蕴含,且ZU,则XZ→YZ为F所蕴含。 3) 传递律:若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。 (2) Armstrong公理的三个推理 1) 合并规则:由X→Y,X→Z,有X→YZ。 2) 伪传递规则:由X→Y,WY→Z,有XW→Z。 3) 分解规则:由X→Y及ZY,有X→Z。
若R1NF,且每一个非主属性完全依赖于码,则R2NF。
在教学模式中: 属性集={学号,姓名,年龄,系名,系主任,课程名,成绩}. 函数依赖集={学号→姓名,学号→年龄,学号→性别,学号→系名, 系名→系主任,(学号,课程名)→成绩}. 主码=(学号,课程名). F 非主属性=(姓名,年龄,系名,系主任,成绩)。 非主属性对码的函数依赖:

7.1.3 多值依赖及关系的第四范式
1. 研究多值依赖的必要性
例如,给定一个关系模式JPW(产品,零件,工序),其中每种产品由多 种零件构成,每个零件在装配时需要多道工序。设产品电视机需要的零 件和工序如图所示。
焊接 调试 测试 电视机 电源 装配 调试 焊接 开关 调试 显像管
2. 多值依赖的定义和性质
例如:SNC(SNO,SN,CNO,SCORE) 假如SN无重名。

小结
一、 函数依赖的所有概念: 函数依赖、(非)平凡函数依赖、完全|部分函数依赖、直接|传递函数依赖 二、 规范化的过程: 1NF(不可再分割的最小数据单元)消除非主属性对码的部分函数依赖后——>2NF: 消除非主属性对码的传递函数依赖;——>3NF:消除主属性对码的部分和传递 函数依赖——>BCNF;
82
78 83 72 94 83 87
2. 关系规范化可能出现的问题

此关系模式存在问题:
数据冗余大 插入异常 删除异常 更新异常

3. 模式分解是关系规范化的主要方法
上述的关系模式: 教学(学号,姓名,年龄,性别,系名,系主任,课程名, 成绩). 可以按“一事一地”的原则分解成“学生”、“教学系”和
7.1.1 关系模式规范化的必要性
1. 关系模式应满足的基本要求
1) 元组的每个分量必须是不可分的数据项。 2) 数据库中的数据冗余应尽可能少。 3) 关系数据库不能因为数据更新操作而引起数据不一致问
题。更新异常(Update Anomaly)
4) 当执行数据插入操作时,数据库中的数据不能产生插入 异常现象。插入异常(Insert Anomaly) 5) 数据库中的数据不能在执行删除操作时产生删除异常问 题。删除异常(Delete Anomaly) 6) 数据库设计应考虑查询要求,数据组织应合理。
设有关系模式R〈U〉,U是属性集,X、Y是U的子集。如果R 的任一关系,对于X的一个确定值,都存在Y的一组值与之对 应,且Y的这组值又与Z=U-X-Y中的属性值不相关,此时称 Y多值依赖于X,或X多值决定Y,记为X→→Y。 多值依赖具有以下性质: 1) 多值依赖具有对称性。即若X→→Y,则X→→Z,其中 Z=U-X-Y。 2) 函数依赖可以看作是多值依赖的特殊情况。即若X→Y, 则X→→Y。这是因为当X→Y时,对X的每一个值x,Y有一个 确定的值y与之对应,所以X→→Y。 3) 在多值依赖中,若X→→Y且Z=U-X-Y≠υ,则称X→→Y 为非平凡的多值依赖,否则称为平凡的多值依赖。
“选课”三个关系,其关系模式为: 学生(学号,姓名,年龄,性别,系名称); 教学系(系名,系主任); 选课(学号,课程名,成绩).
7.1.2 函数依赖及其关系的范式
1. 关系模式的简化表示法
关系模式的完整表示是一个五元组: R〈U,D,Dom,F〉. 其中:R为关系名;U为关系的属性集合;D为属性集U中属 性的数据域;Dom为属性到域的映射;F为属性集U的数据 依赖集。 关系模式可以用三元组来为: R〈U,F〉.

5. 3NF的定义
关系模式R〈U,F〉中若不存在这样的码X、属性组Y及 非主属性Z(Z Y)使得X→Y、Y X、Y→Z成立,则称R 〈U,F〉3NF。 可以证明,若R3NF,则每一个非主属性既不部分函数依赖 于码,也不传递函数依赖于码。 考查学生_系关系,由于存在:学号→系名,系名→系 主任。
1) 所有非主属性对每一个码都是完全函数依赖。
2) 所有的主属性对每一个不包含它的码,也是完全依赖。 3) 没有任何属性完全函数依赖于非码的任何一组属性。
7. BCNF和3NF的比较
BCNF不仅强调其他属性对码的完全的直接 的依赖,而且强调主属性对码的完全的直接 的依赖,它包括3NF,即RBCNF,则R一定 属于3NF。
{(学号,课程名)→姓名,(学号,课程名)→年龄,(学号,课程号)→性别 ,
F (学号,课程名)→系名,(学号,课程名)→系主任;(学号,课程名)→成绩 }.
P P
P
P
P
显然,教学模式不服从2NF,即:教学2NF。
前面已经讨论了该关系存在数据冗余问题、 插入异常、异常和更新异常等问题。 为了消除这些部分函数依赖,可以将T关系分 解为: 学生—系(学号,姓名,年龄,性别,系名, 系主任); 选课(学号,课程名,成绩)
2. 关系规范化可能出现的问题
例:要求设计一个教学管理数据库,希望从该 数据库中得到学生学号、学生姓名、年龄、性 别、系别、系主任姓名、学生学习的课程和该 课程的成绩信息。 若将此信息要求设计为一个关系,则关系模式 为:

教学(学号,姓名,年龄,性别,系名,系主任, 课程名,成绩)
2. 关系规范化可能出现的问题
为便于理解,不妨假设X和Y均只包含一个属性, 分别记为A,B。A→B用数学图形表示如下:
B B
A
A
A函数决定B,A的每一个值对应B 的唯一值
A函数不决定B,A的某些值可能对应B 的多个值
完全函数依赖、传递函数依赖

2) 在R〈U〉中,如果X→Y,并且对于X的任何一 个真子集X
′ ,都有X ′ Y,则称Y对X完全函数依赖,
数据库系统原理 及应用
机械工业出版社
2016/2/28
第7章 关系数据库理论

关系数据库理论
关系数据库设计的理论:关系规范化理论和关系 模式分解方法 关系数据库操作的理论:关系数据的查询和优化 的理论

第7章 关系数据库理论
7.1 关系数据模式的规范化理论
7.1.1 关系模式规范化的必要性 7.1.2 函数依赖及其关系的范式 7.1.3 多值依赖及关系的第四范式
F F
P 记作:X→Y;若 X→Y,但Y不完全函数依赖于X,
则称Y对X部分函数依赖,记作: X→Y。
P (学号,课程名)→姓名
例如,在教学关系模式:(学号,课程名)→成绩,
完全函数依赖、传递函数依赖

3) 在R〈U〉中,如果X→Y,(Y X),Y X,Y→Z,则称Z对X传递函数依赖。传递函 数依赖记作X → Z。
98002
98002 98002 98003 98003 98003 98003
张平
张平 张平 陈兵 陈兵 陈兵 陈兵
21
21 21 20 20 20 20

女 女 男 男 男 男
计算机系
计算机系 计算机系 数学系 数学系 数学系 数学系
王民
王民 王民 赵敏 赵敏 赵敏 赵敏
数据结构
数据库 电路 高等数学 数据结构 数据库 离散数学
张平
张平 张平 陈兵 陈兵 陈兵 陈兵
21
21 21 20 20 20 20

女 女 男 男 男 男
计算机系
计算机系 计算Hale Waihona Puke Baidu系 数学系 数学系 数学系 数学系
王民
王民 王民 赵敏 赵敏 赵敏 赵敏
数据结构
数据库 电路 高等数学 数据结构 数据库 离散数学
82
78 83 72 94 83 87
2. 函数依赖的概念
2. 函数依赖的概念
1) 设R〈U〉是属性集U上的关系模式,X、 Y是U的子集。若对于R〈U〉的任意一个 可能的关系r,r中不可能存在两个元组在 X上的属性值相等,而Y上的属性值不等, 则称X函数确定Y函数,或Y函数依赖于X 函数,记作X→Y。
学号 98001 98001 98001 98001 98002

三、 规范化是关系到数据库设计的重要概念: 目的:规范化的目的是使结构合理,消除存储异常,使数据冗余尽量小,便于插 入、删除和更新。 原则:遵从概念单一化“一事一地”原则,即一个关系模式描述一个实体或实体 间的一种联系。规范的实质就是概念单一化。 方法:将关系模式投影分解成两个或两个以上的关系模式。 要求:分解后的关系模式集合应当与原关系模式“等价”,即经过自然联接可以 恢复关系而不丢失信息。,并保持属性间合理的联系。
传递
传递例如,在教学模式中,因为:学号→系
传递 名,系名→系主任;所以:学号 → 系主任。
3. 1NF的定义
如果关系模式R,其所有的属性均为 简单属性,即每个属性都是不可再分的, 则称R属于第一范式,记作R1NF。

在任何一个关系数据库系统中,第一范式都是 一个最基本的要求。
4. 2NF的定义
相关文档
最新文档