数据库系统概论chp6-3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2 CB
课程C 物理 物理 数学 数学
教员T 李勇 王军 李勇 张平
课程C 物理 物理 物理 数学 数学 数学
参考书B 普通物理 光学原理 物理习题集 数学分析 微分方程 高等代数
上述CT表中,存在C →→T,但是这是平凡的多值依赖,即CT中已经不存 在既非平凡的多值依赖,所以CT属于4NF。同样,CB也属于4NF。分解后的 Teaching关系中的几个问题可以得到解决。
第六章 关系数据理论3
本次课主要内容
❖ 多值依赖及第四范式4NF ❖ 数据依赖的公理系统
▪ 逻辑蕴涵 ▪ Armstrong公理系统 ▪ 函数依赖集的闭包
❖ 例1:学校中某一门课程由多个教师讲授,使用相同的 一套参考书;每位教师可讲授多门课程,每种参考书也 可以供多门课程使用。
分析:每门课程有多个教师讲授; 每个教师可以讲授多门课程; 同一门课程使用一套相同的参考书; 每种参考书可以供多门课程使用。

若X→→Y,Y→→Z, 则X→→Z –Y
❖ (3)函数依赖是多值依赖的特殊情况。

若X→Y,则X→→Y。
❖ (4)若X→→Y,X→→Z,则X→→Y∪Z。
❖ (5)若X→→Y,X→→Z,则X→→Y∩Z。
❖ (6)若X→→Y,X→→Z,则X→→Y-Z,X→→Z -Y。
多值依赖与函数依赖的区别
(1) 多值依赖的有效性与属性集的范围有关 (2)
记作:F |= A→C。即函数依赖集 F 逻辑蕴含函数依赖A→C。
2、Armstrong公理系统
❖ Armstrong公理系统:一套推理规则,是模式分解算法的 理论基础;
❖ 关系模式R <U,F >来说有以下的推理规则:
▪ A1.自反律(Reflexivity):若Y X U,则X →Y为F所蕴含。 ▪ A2.增广律(Augmentation):若X→Y为F所蕴含,且Z U,则
原因:对于W的每一个值,C有一组值与之对应,而不论S取 何值;C的取值取决于W值,而与S值无关。
结论:C多值依赖于W,即W→→C。
多值依赖(续)
用下图表示这种对应
W→→S且W→→C
多值依赖 具有以下性质:
❖ (1)多值依赖具有对称性(如图)

若X→→Y,则X→→Z,其中Z=U-X-Y
❖ (2)多值依赖具有传递性
3、函数依赖集的闭包
❖ 定义6.l2
在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体
叫作F的闭包(closure),记为F +, F+={Fi|从阿氏公理中导出的所有函数依赖的集合} ❖ 一般情况下,F F+,如果F =F+,则称F为一个函数依赖 的完备集;
例1: 已知关系模式R(XYZ),F={XY, YZ},求F+;
参考书B 普通物理 光学原理 物理习题集 普通物理 光学原理 物理习题集 数学分析 微分方程 高等代数 数学分析 微分方程 高等代数
由上表可以看出,关系模型Teaching(C,T,B)的码是全码。因而 Teaching属于BCNF。但该关系存在下列增删改不方便和数据冗余。
(1)增加操作复杂。当某一课程增加一名教员时,该课程有多少本参考书,必须 插入多个元组。
因为W不是码,所以该关系模式不是4NF。
❖ WSC关系模式已经达到了BCNF,但不是4NF,仍有 不好的性质。
(1)若某一个仓库wi有n个保管员,存放m件商品,则分 量为wi的元组数目就一定有n×m个。
(2)每个保管员重复存储m次,每种商品重复存储n,数 据的冗余太大。
因此应该继续规范化使关系模式WSC达到4NF。
❖ 按照语义,我们可以得出:
关系模式 WSC中的任意一组值(W1,C1),有一组S值{S1,S2}, 这组值仅仅决定于W上的值(W1),而与C上的值无关。 我们再看,另一个值(W1,C2),它对应的一组S值仍是{S1, S2},尽管C值改变了,但是W值还是不变。
原因:对于W的每一个值,S有一组值与之对应,而不论C取 何值;S的取值取决于W值,而与C值无关。
XYXZ, XZXY,
XZYZ,
XYXYZ, XZXYZ,
共计42个FD;
❖ 采用投影分解法消去非平凡且非函数依赖的多值依赖。 例如:可以把WSC分解为:WS(W,S)和WC(W,C)。
WS
WC
W
S
W1
S1
W1
S2
W2 S3
W2 S4
W
C
W1
C1
W1
C2
W1
C3
W2
C4
W2
C5
规范化小结
❖ 规范化目的:使结构更合理,消除插入、修改、删除异常,使 数据冗余尽量小,便于插入、删除和更新。
▪ 若函数依赖X→Y在R(U)上成立,则对于任何Y' Y均有X→Y' 成立
▪ 多值依赖X→→Y若在R(U)上成立,不能断言对于 任何Y' Y有X→→Y' 成立
2)第四范式
❖定义6.10
▪ 关系模式R<U,F>∈1NF,如果对于R的每个非 平凡多值依赖X→→Y(Y X),X都含有码, 则R∈4NF。
BCNF的关系模式Teaching之所以会产生上述问题,是因为参考书的取值 和教员的取值是彼此独立毫无关系的,它们都取决于课程。也就是说关系模式 Teaching中存在一种称为多值依赖的数据依赖。
一、多值依赖及第四范式
1)多值依赖(MultiValued Dependency,简记MVD)
❖ 定义6.9
根据阿氏公理可得出:
F + ={
Xφ, Yφ, Zφ, XYφ, XZφ,
XX, YY, ZZ, XYX, XZX,
XY, Y Z,
XYY, XZY,
XZ, YYZ,
XYZ, XZZ,
XXY,
XYXY, XZXY,
XXZ,
XYYZ, XZXZ,
XYZ,
分析:每个仓库有多个保管员; 每个保管员管理所在仓库的所有商品; 每种商品被所有保管员保管。
W(仓库) W1 W1 W1 W1 W1 W1 W2 W2 W2 W2
S(保管员) S1 S1 S1 S2 S2 S2 S3 S3 S4 S4
C(商品) C1 C2 C3 C1 C2 C3 C4 C5 C4 C5
(1)参考书只需要在CB关系中存储一次。
(2)当某一课程增加一名教员时,只需要在CT关系中 增加一个元组。
(3)某一门课程要去掉一门参考书,只需要在CB关系 中删除一个相应元组。
例如:关系模式WSC是BCNF,但是否4NF? (1)在关系模式WSC中存在非平凡的多值依赖:
W→→S,W→→C (2)关系模式WSC的码是(W,S,C);
XZ→YZ为F所蕴含。( 注释:XZ 表示X∪Z ) ▪ A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为
F所蕴含。
根据推理规则导出的规则
1.根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:
▪ 合并规则:由X→Y,X→Z,有X→YZ。
▪ 证明: 由X→Y,有xz →Yz; 由 X→Z,有X→XZ;所以X→YZ
课程C 物理 数学 计算数学
表6.3 非规范化示例
教员T 李勇 王军
李勇 张平
张平 周峰
参考书B 普通物理学 光学原理 物理习题集 数学分析 微分方程 高等代数 数学分析 ……
例如:
表6.4 Teaching
课程C 物理 物理 物理 物理 物理 物理 数学 数学 数学 数学 数学 数学
教员T 李勇 李勇 李勇 王军 王军 王军 李勇 李勇 李勇 张平 张平 张平
设R(U)是一个属性集U上的一个关系模式, X、 Y、Z是U的子集,并且 Z=U-X-Y。关系模式R(U)中多值依赖 X→→Y成立,当且仅当对R(U) 的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决 定于x值而与z值无关;
❖ 若X→→Y,而Z=空集,则称X→→Y为平凡的多值依赖; 否则,称X→→Y为非平凡的多值依赖。
二、数据依赖的公理系统
❖ 问题的提出: 在关系模式规范化处理过程中,不仅要知道一个由语义决定的 函数依赖集合,还要知道由这个已知的函数依赖集合所蕴含 (或推导出)的所有函数依赖集合。为此,需要一个有效而完 备的公理系统, Armstrong公理系统即是这样的一个系统。
❖ 相关定义: 一个函数依赖可以通过已知的函数依赖推导出来;如利用X→Y 和Y→Z可以推导出X →Z,可以说,函数依赖X→Y和Y→Z逻辑 蕴含(Logical Implication)了X →Z。
主要内容:
1、逻辑蕴涵 2、Armstrong公理系统 3、函数依赖集的闭包 4、函数依赖集的等价及最小依赖集
1、逻辑蕴涵
❖ 定义6.11
对于满足一组函数依赖 F 的关系模式R <U,F>,其任何一个关系 r,若函数依赖X→Y都成立(即r中任意两元组t、s,若t[X]=s[X],
则t[Y]=s[Y]),则称F逻辑蕴含X→Y,记为F⊨X→Y; ❖ 例如,设F={ A→B,B→C },则函数依赖A→C被F逻辑蕴含,
结论:S多值依赖于W,即W→→S。
❖ 按照语义,我们可以得出:
关系模式 WSC中的任意一组值(W1,S1),有一组C值{C1, C2,C3},这组值仅仅决定于W上的值(W1),而与S上的值无关。 我们再看,另一个值(W1,S2),它对应的一组S值仍是{C1, C2,C3},尽管S值改变了,但是W值还是不变。

(A2, A3)
▪ 伪传递规则:由X→Y,WY→Z,有XW→Z。 (A2, A3)
▪ 证明: X→Y,有WX →WY,又WY→Z,故XW→Z。
▪ 分解规则:由X→Y及 Z Y,有X→Z。 不需证明(A1, A3)
2.根据合并规则和分解规则,可得引理6.1;
引理6.l X→A1 A2…Ak成立的充分必要条件是X→Ai成立(i=l, 2,…,k)。
原因:对于C的每一个值,T有一组值与之对应,而不论B取何值;T的 取值取决于C值,而与B值无关。
结论:T多值依赖于C,即C→→T。
例如: Teaching(C, T, B) 关系模式 Teaching中的任意一组值(物理C,李勇T),有一组B值{普 通物理,光学原理,物理习题集},这组B值仅仅决定于课程C上的值 (物理),而与教员T上的值无关。
(2)删除操作复杂。当某一门课程要去掉一本参考书,该课程有多少名教员,就 必须删除多个元组。
(3)修改操作复杂。当某一课程的参考书需要修改,该课程有多少名教员,则需 要修改多个元组。
(4)数据冗余度大。每一门课程的参考书是固定的,但在Teaching关系中,有多 少名教员,参考书就要存储多少次,造成大量的数据冗余。
❖ 规范化方法:将关系模式投影分解成两个或两个以上的关系模 式。
❖ 规范化原则:遵从概念单一化 “一事一地”原则,即一个关系 模式描述一个实体或实体间的一种联系。规范的实质就是概念 的单一化。
❖ 规范化要求:分解后的关系模式集合应当与原关系模式“等 价”,即经过自然联接可以恢复原关系而不丢失信息,并保持 属性间合理的联系。
例如: Teaching(C, T, B)
关系模式 Teaching中的任意一组值(物理C,光学原理B),有一组T值 {李勇,王军},这组T值仅仅决定于课程C上的值(物理),而与参考书 B上的值无关。
我们再看,另一个值(物理C,普通物理B),它对应的一组T值仍是{李 勇,王军},尽管B值改变了,但是T值还是不变。
我们再看,另一个值(物理C,王军T),它对应的一组B值仍是{普通 物理,光学原理,物理习题集},尽管T值改变了,但是B值还是不变。
原因:对于C的每一个值,B有一组值与之对应,而不论T取何值;B的 取值取决于C值,而与T值无关。
结论:B多值依赖于C,即C→→B。
❖ 例10:关系模式WSC( W,S,C )中, W表示仓 库,S表示保管员,C表示商品。假设每个仓库有若 干个保管员,有若干种商品。每个保管员保管所在的 仓库的所有商品,每种商品被所有保管员保管。所列 出的关系如下表。
例如:关系模式Teaching是BCNF,但是否4NF? (1)在关系模式Teaching中存在非平凡的多值依赖:
C→→T,C→→B (2)关系模式Teaching的码是(C,T,B);
因为C不是码,所以该关系模式不是4NF。
这正是它之所以存在数据冗余度大、插入和删除操作复杂等弊 端的根源,可以用投影分解法把Teaching分解为如下两个4NF关系模 式,减少数据冗余。
相关文档
最新文档