An Introduction to Database System An Introduction To Database System

Slides:



Advertisements
Similar presentations
2.6 隐函数微分法 第二章 第二章 二、高阶导数 一、隐式定义的函数 三、可微函数的有理幂. 一、隐函数的导数 若由方程 可确定 y 是 x 的函数, 由 表示的函数, 称为显函数. 例如, 可确定显函数 可确定 y 是 x 的函数, 但此隐函数不能显化. 函数为隐函数. 则称此 隐函数求导方法.
Advertisements

全微分 教学目的:全微分的有关概念和意义 教学重点:全微分的计算和应用 教学难点:全微分应用于近似计算.
2.3 函数的微分. 四川财经职业学院 课前复习 高阶导数的定义和计算方法。 作业解析:
An Introduction to Database System
第五章 二次型. 第五章 二次型 知识点1---二次型及其矩阵表示 二次型的基本概念 1. 线性变换与合同矩阵 2.
第三章 函数逼近 — 最佳平方逼近.
第七章:数据库设计理论基础.
第六章 关系数据理论 内容出处: 1.Abraham Silberschatz《数据库系统概念》第七章.
第4章 关系数据库设计理论 本章内容 4.1 问题的提出 4.2 规范化 4.3 数据依赖的公理系统* 4.4 小结 习 题.
清仓处理 跳楼价 满200返160 5折酬宾.
《高等数学》(理学) 常数项级数的概念 袁安锋
§1 线性空间的定义与性质 ★线性空间的定义 ★线性空间的性质 ★线性空间的子空间 线性空间是线性代数的高等部分,是代数学
四种命题 2 垂直.
常用逻辑用语复习课 李娟.
命题的四种形式 高二数学.
第六章 关系数据理论 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解.
An Introduction to Database System
第一章 行列式 第五节 Cramer定理 设含有n 个未知量的n个方程构成的线性方程组为 (Ⅰ) 由未知数的系数组成的n阶行列式
Database Principles & Applications
一、原函数与不定积分 二、不定积分的几何意义 三、基本积分公式及积分法则 四、牛顿—莱布尼兹公式 五、小结
第四章 函数的积分学 第六节 微积分的基本公式 一、变上限定积分 二、微积分的基本公式.
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
第二章 导数与微分 第二节 函数的微分法 一、导数的四则运算 二、复合函数的微分法.
2-7、函数的微分 教学要求 教学要点.
An Introduction to Database System An Introduction to Database System
第四章 关系数据理论 4.1 关系模式的设计问题 4.2 关系模式的规范化 4.3 数据依赖的公理系统 4.4 关系模式的分解 本章小结.
第5章 关系模式的规范化设计 冯万利.
1、掌握为什么不合适的关系模式会带来插入异常、删除异常、 存储异常、修改困难等严重问题 2、深刻理解函数依赖、多值依赖等有关概念
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
第四章关系数据库设计理论 4.1 数据依赖 4.2 范式 4.3 关系模式的规范化.
第六章 关系数据理论 6.1 问题的提出 6.2 规范化 6.3 数据依赖的公理系统 *6.4 模式的分解 6.5 小结 管理科学与工程学院.
Thanks for the Slides from Renmin U
第五章 关系数据理论 关系模型有严格的数学理论基础,也是目前应用最广泛的数据模型,关系规范化是指导数据库设计的重要理论。一个好的关系数据库是应该既可以供人们方便地获取信息,而又不产生过多的不必要的重复存储问题。可以说,规范化理论是数据模型优化的理论基础,对其他数据库的逻辑设计同样具有理论上的意义。 2018年12月6日7时18分.
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
实数与向量的积.
概 率 统 计 主讲教师 叶宏 山东大学数学院.
复习.
第十章 双线性型 Bilinear Form 厦门大学数学科学学院 网址: gdjpkc.xmu.edu.cn
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
定理21.9(可满足性定理)设A是P(Y)的协调子集,则存在P(Y)的解释域U和项解释,使得赋值函数v(A){1}。
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
§8.3 不变因子 一、行列式因子 二、不变因子.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
1.2 子集、补集、全集习题课.
1.设A和B是集合,证明:A=B当且仅当A∩B=A∪B
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
2.2矩阵的代数运算.
上杭二中 曾庆华 上杭二中 曾庆华 上杭二中 曾庆华.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
2.2直接证明(一) 分析法 综合法.
第五章关系数据库设计理论 5.1 数据依赖 5.2 范式 5.3 关系模式的规范化.
An Introduction to Database System
第3章 关系数据库的规范化理论 本章导读: 关系规范化理论研究的是关系模式中各属性之间的依赖关系及其对关系模式性能的影响,探讨“好”的关系模式应该具备的性质,以及达到“好”的关系模式提供的方法。关系规范化理论提供了判断关系逻辑模式优劣的理论标准,是数据库设计的理论基础和关系模式算法工具,用于帮助数据库设计工程师预测和优化模式可能出现的问题。
高中数学必修 平面向量的基本定理.
§2 方阵的特征值与特征向量.
9.5空间向量及其运算 2.共线向量与共面向量 淮北矿业集团公司中学 纪迎春.
主讲教师 欧阳丹彤 吉林大学计算机科学与技术学院
第三节 函数的微分 3.1 微分的概念 3.2 微分的计算 3.3 微分的应用.
第五章关系数据库设计理论 5.1 数据依赖 5.2 范式 5.3 关系模式的规范化.
定义5 把矩阵 A 的行换成同序数的列得到的矩阵,
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
数据库技术及应用 机械工业出版社 2019/7/24.
§4.5 最大公因式的矩阵求法( Ⅱ ).
第三章 线性方程组 §4 n维向量及其线性相关性(续7)
最小生成树 最优二叉树.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
大綱: 比例線段定義 平行線截比例線段性質 顧震宇 台灣數位學習科技股份有限公司
1.2.2 充要条件 高二数学 选修 1-1 第一章 常用逻辑用语.
Presentation transcript:

An Introduction to Database System An Introduction To Database System 数据库系统概论 An Introduction to Database System 第五章 关系数据理论(续) 山东理工大学计算机学院 An Introduction To Database System

An Introduction To Database System 第五章 关系数据理论 5.1 数据依赖 5.2 规范化 5.3 数据依赖的公理系统 5.4 模式的分解 An Introduction To Database System

An Introduction To Database System 5.3 数据依赖的公理系统 逻辑蕴含 定义5.11 对于满足一组函数依赖 F 的关系模式R <U,F>,其任何一个关系r,若函数依赖X→Y都成立, 则称 F逻辑蕴含X →Y An Introduction To Database System

An Introduction To Database System Armstrong公理系统 一套推理规则,是模式分解算法的理论基础 用途 求给定关系模式的码 从一组函数依赖求得蕴含的函数依赖 An Introduction To Database System

An Introduction To Database System 1. Armstrong公理系统 关系模式R <U,F >来说有以下的推理规则: Al.自反律(Reflexivity): 若Y  X  U,则X →Y为F所蕴含。 A2.增广律(Augmentation):若X→Y为F所蕴含,且Z  U,则XZ→YZ为F所蕴含。 A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。 注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于F An Introduction To Database System

定理 5.l Armstrong推理规则是正确的 (l)自反律:若Y  X  U,则X →Y为F所蕴含 证: 设Y  X  U 对R <U,F> 的任一关系r中的任意两个元组t,s: 若t[X]=s[X],由于Y  X,有t[y]=s[y], 所以X→Y成立. 自反律得证 An Introduction To Database System

An Introduction To Database System 定理5.l (2)增广律: 若X→Y为F所蕴含,且Z  U,则XZ→YZ 为F所蕴含。 证:设X→Y为F所蕴含,且Z  U。 设R<U,F> 的任一关系r中任意的两个元组t,s; 若t[XZ]=s[XZ],则有t[X]=s[X]和t[Z]=s[Z]; 由X→Y,于是有t[Y]=s[Y],所以t[YZ]=s[YZ],所以XZ→YZ为F所蕴含. 增广律得证。 An Introduction To Database System

An Introduction To Database System 定理5.l (3) 传递律:若X→Y及Y→Z为F所蕴含,则 X→Z为 F所蕴含。 证:设X→Y及Y→Z为F所蕴含。 对R<U,F> 的任一关系 r中的任意两个元组 t,s。 若t[X]=s[X],由于X→Y,有 t[Y]=s[Y]; 再由Y→Z,有t[Z]=s[Z],所以X→Z为F所蕴含. 传递律得证。 An Introduction To Database System

An Introduction To Database System 2. 导出规则 1.根据A1,A2,A3这三条推理规则可以得到下面三条推理规则: 合并规则:由X→Y,X→Z,有X→YZ。 (A2, A3) 伪传递规则:由X→Y,WY→Z,有XW→Z。 分解规则:由X→Y及 ZY,有X→Z。 (A1, A3) An Introduction To Database System

An Introduction To Database System 导出规则 2.根据合并规则和分解规则,可得引理5.1 引理5.l X→A1 A2…Ak成立的充分必要条件是 X→Ai成立(i=l,2,…,k)。 An Introduction To Database System

An Introduction To Database System 3. 函数依赖闭包 定义5.l2 在关系模式R<U,F>中为F所逻辑蕴含 的函数依赖的全体叫作 F的闭包,记为F+。 定义5.13 设F为属性集U上的一组函数依赖,X U, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的闭包 An Introduction To Database System

An Introduction To Database System F的闭包 F={X Y,Y Z}, F+计算是NP完全问题,X A1A2...An F+={ X φ, Y φ, Z φ, XY φ, XZ φ, YZ φ, XYZ φ, X X, Y Y, Z Z, XY X, XZ X, YZ Y, XYZ X, X Y, Y Z , XY Y, XZ Y, YZ Z, XYZ Y, X Z, Y YZ, XY Z, XZ Z, YZ YZ, XYZ Z, X XY, XY XY, XZ XY, XYZ XY, X XZ, XY YZ, XZ XZ, XYZ YZ X YZ, XY XZ, XZ XY, XYZ XZ, X ZYZ, XY XYZ, XZ XYZ, XYZ XYZ } An Introduction To Database System

An Introduction To Database System 关于闭包的引理 引理5.2 设F为属性集U上的一组函数依赖,X,Y  U,X→Y能由F 根据Armstrong公理导出的充分必要条件是Y XF+ 用途 将判定X→Y是否能由F根据Armstrong公理导出的问题, 就转化为求出XF+ ,判定Y是否为XF+的子集的问题 An Introduction To Database System

An Introduction To Database System 求闭包的算法 算法5.l 求属性集X(X  U)关于U上的函数依 赖集F 的闭包XF+ 输入:X,F 输出:XF+ 步骤: (1)令X(0)=X,i=0 (2)求B,这里B = { A |( V)(  W)(V→WF ∧V  X(i)∧A W)}; (3)X(i+1)=B∪X(i) An Introduction To Database System

An Introduction To Database System 算法5.l (4)判断X(i+1)= X (i)吗? (5)若相等或X(i)=U , 则X(i)就是XF+ , 算法终止。 (6)若否,则 i=i+l,返回第(2)步。 对于算法5.l, 令ai =|X(i)|,{ai }形成一个步长大 于1的严格递增的序列,序列的上界是 | U |,因 此该算法最多 |U| - |X| 次循环就会终止。 An Introduction To Database System

An Introduction To Database System Algorithm Define XF+ = closure of X = set of attributes functionally determined byX Basis: XF+ :=X Induction: If Y XF+, and Y A is a given FD, then add A to XF+ End when XF+ cannot be changed. A y X+ New X+ An Introduction To Database System

An Introduction To Database System Example U={A, B, C, D}; F={A B, BC D}; A+ = AB. C+ = C. (AC)+ = ABCD. B A C An Introduction To Database System

An Introduction To Database System Example U={A, B, C, D}; A B, BC D. (AC)+ = ABCD. D A C B An Introduction To Database System

An Introduction To Database System 函数依赖闭包 [例1] 已知关系模式R<U,F>,其中 U={A,B,C,D,E}; F={AB→C,B→D,C→E,EC→B,AC→B}。 求(AB)F+ 。 解 设X(0)=AB; (1)计算X(1): 逐一的扫描F集合中各个函数依赖, 找左部为A,B或AB的函数依赖。得到两个: AB→C,B→D。 于是X(1)=AB∪CD=ABCD。 An Introduction To Database System

An Introduction To Database System 函数依赖闭包 (2)因为X(0)≠ X(1) ,所以再找出左部为ABCD子集的那些函数依赖,又得到AB→C,B→D, C→E,AC→B, 于是X(2)=X(1)∪BCDE=ABCDE。 (3)因为X(2)=U,算法终止 所以(AB)F+ =ABCDE。 An Introduction To Database System

4. Armstrong公理系统的有效性与完备性 建立公理系统体系目的:从已知的 f 推导出未知的f 明确:1.公理系统推导出来的 f 正确? 2. F+中的每一个 f 都能推导出来? / f 不能由F 导出, f ∈ F+ F F+ f An Introduction To Database System

4. Armstrong公理系统的有效性与完备性 有效性:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中 /* Armstrong正确 完备性:F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来 /* Armstrong公理够用,完全 完备性:所有不能用Armstrong公理推导出来f, 都不为真 若 f 不能用Armstrong公理推导出来, f∈ F+ An Introduction To Database System

An Introduction To Database System 有效性与完备性的证明 证明: 1. 有效性 可由定理5.l得证 2. 完备性 只需证明逆否命题: 若函数依赖X→Y不能由F从Armstrong公理导出,那么它必然不为F所蕴含 分三步证明: An Introduction To Database System

An Introduction To Database System 有效性与完备性的证明 (1)引理: 若V→W成立,且V  XF+,则W  XF+ 证 因为 V  XF+ ,所以有X→V成立; 因为X →V,V→W,于是X→W成立 所以W  XF+ (2)/* 若 f 不能用Armstrong公理推导出来, f∈ F+ /* 若存在r, F+中的全部函数依赖在 r上成立。 /* 而不能用Armstrong公理推导出来的f , 在r上不成立。 构造一张二维表r,它由下列两个元组构成,可以证明r必是R(U,F)的一个关系,即F+中的全部函数依赖在 r上成立。 An Introduction To Database System

Armstrong公理系统的有效性与完备性(续) XF+ U-XF+ 11......1 00......0   11......1 11......1   若r不是R<U,F> 的关系,则必由于F中有函数依赖V→W在r上不成立所致。由r的构成可知,V必定是XF+ 的子集,而W不是XF+ 的子集,可是由第(1)步,W  XF+,矛盾。所以r必是R<U,F>的一个关系。 An Introduction To Database System

Armstrong公理系统的有效性与完备性(续) (3) )/* 若 f 不能用Armstrong公理推导出来, f∈ F+ /* 而不能用Armstrong公理推导出来的 f , 在r上不成立。 若X→Y 不能由F从Armstrong公理导出,则Y 不是 XF+ 的子集。(引理5.2) 因此必有Y 的子集Y’ 满足 Y’ U-XF+, 则X→Y在 r 中不成立,即X→Y必不为 R<U,F> 蕴含 /* 因为 F+中的全部函数依赖在 r上成立。 An Introduction To Database System

Armstrong公理系统的有效性与完备性(续) “蕴含” == “导出” 等价的概念 F+ ==由F出发借助Armstrong公理导出的函数依赖的集合 An Introduction To Database System

An Introduction To Database System 5. 函数依赖集等价 定义5.14 如果G+=F+,就说函数依赖集F覆 盖G(F是G的覆盖,或G是F的覆盖),或F 与G等价。 An Introduction To Database System

An Introduction To Database System 函数依赖集等价的充要条件 引理5.3 F+ = G+ 的充分必要条件是 F  G+ ,和G  F+ 证: 必要性显然,只证充分性。 (1)若FG+ ,则XF+  XG++ 。 (2)任取X→YF+ 则有 Y  XF+  XG++ 。 所以X→Y  (G+)+= G+。即F+  G+。 (3)同理可证G+  F+ ,所以F+ = G+。 An Introduction To Database System

An Introduction To Database System 函数依赖集等价 要判定F  G+,只须逐一对F中的函数依赖X→Y,考察 Y 是否属于XG++ 就行了。因此引理5.3 给出了判断两个函数依赖集等价的可行算法。 An Introduction To Database System

An Introduction To Database System 6. 最小依赖集 定义5.15 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。 (1) F中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖X→A,使得F与 F-{X→A}等价。 (3) F中不存在这样的函数依赖X→A, X有真 子集Z使得F-{X→A}∪{Z→A}与F等价。 An Introduction To Database System

An Introduction To Database System 最小依赖集 [例2] 对于5.l节中的关系模式S<U,F>,其中: U={ SNO,SDEPT,MN,CNAME,G }, F={ SNO→SDEPT,SDEPT→MN, (SNO,CNAME)→G } 设F’={SNO→SDEPT,SNO→MN, SDEPT→MN,(SNO,CNAME)→G, (SNO,SDEPT)→SDEPT} F是最小覆盖,而F ’不是。 因为:F ’-{SNO→MN}与F ’等价 F ’-{(SNO,SDEPT)→SDEPT}也与F ’等价 F ’-{(SNO,SDEPT)→SDEPT} ∪{SNO→SDEPT}也与F ’等价 An Introduction To Database System

An Introduction To Database System 7. 极小化过程 定理5.3 每一个函数依赖集F均等价于一个极小 函数依赖集Fm。此Fm称为F的最小依赖集 证:构造性证明,依据定义分三步对F进行“极小 化处理”,找出F的一个最小依赖集。 (1)逐一检查F中各函数依赖FDi:X→Y, 若Y=A1A2 …Ak,k > 2, 则用 { X→Aj |j=1,2,…, k} 来取代X→Y。 引理5.1保证了F变换前后的等价性。 An Introduction To Database System

An Introduction To Database System 极小化过程 (2)逐一检查F中各函数依赖FDi:X→A, 令G=F-{X→A}, 若AXG+, 则从F中去掉此函数依赖。 由于F与G =F-{X→A}等价的充要条件是AXG+ 因此F变换前后是等价的。 An Introduction To Database System

An Introduction To Database System 极小化过程 (3)逐一取出F中各函数依赖FDi:X→A, 设X=B1B2…Bm, 逐一考查Bi (i=l,2,…,m), 若A (X-Bi )F+ , 则以X-Bi 取代X。 由于F与F-{X→A}∪{Z→A}等价的充要条件是AZF+ ,其中Z=X-Bi 因此F变换前后是等价的。 An Introduction To Database System

An Introduction To Database System 极小化过程 由定义,最后剩下的F就一定是极小依赖集。 因为对F的每一次“改造”都保证了改造前后的两个函数依赖集等价,因此剩下的F与原来的F等价。 证毕 定理5.3的证明过程 也是求F极小依赖集的过程 An Introduction To Database System

An Introduction To Database System 极小化过程 [例3] F = {A→B,B→A,B→C, A→C,C→A} Fm1、Fm2都是F的最小依赖集: Fm1= {A→B,B→C,C→A}   Fm2= {A→B,B→A,A→C,C→A} F的最小依赖集Fm不一定是唯一的它与对各函数依赖FDi 及X→A中X各属性的处置顺序有关 An Introduction To Database System

An Introduction To Database System 极小化过程 极小化过程( 定理5.3的证明 )也是检验F是否为极小依赖集的一个算法 若改造后的F与原来的F相同,说明F本身就是一个最小依赖集 An Introduction To Database System

An Introduction To Database System 极小化过程 在R<U,F>中可以用与F等价的依赖集G来取代F 原因:两个关系模式R1 <U,F>,R2<U,G>,如果F与G等价,那么R1的关系一定是R2的关系。反过来,R2的关系也一定是R1的关系。 An Introduction To Database System

An Introduction To Database System 第五章 关系数据理论 5.1 数据依赖 5.2 规范化 5.3 数据依赖的公理系统 5.4 模式的分解 An Introduction To Database System

An Introduction To Database System 5.4 模式的分解 把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的 只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义 An Introduction To Database System

An Introduction To Database System 关系模式分解的标准 三种模式分解的等价定义 ⒈ 分解具有无损连接性 ⒉ 分解要保持函数依赖 ⒊ 分解既要保持函数依赖,又要具有无损连接性 An Introduction To Database System

An Introduction To Database System 模式的分解(续) 定义5.16 关系模式R<U,F>的一个分解: ρ={ R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>} U=U1∪U2∪…∪Un,且不存在 Ui  Uj,Fi 为 F在 Ui 上的投影 定义5.17 函数依赖集合{X→Y | X→Y  F+∧XY Ui} 的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影 An Introduction To Database System

An Introduction To Database System 模式的分解(续) 例: SL(Sno, Sdept, Sloc) F={ Sno→Sdept,Sdept→Sloc,Sno→Sloc} SL∈2NF 存在插入异常、删除异常、冗余度大和修改复杂等问题 分解方法可以有多种 An Introduction To Database System

An Introduction To Database System 模式的分解(续) SL ────────────────── Sno Sdept Sloc ────────────────── 95001 CS A 95002 IS B 95003 MA C 95004 IS B 95005 PH B An Introduction To Database System

An Introduction To Database System 模式的分解(续) 1. SL分解为下面三个关系模式: SN(Sno) SD(Sdept) SO(Sloc) An Introduction To Database System

An Introduction To Database System 分解后的关系为: SN ────── SD ────── SO ────── Sno Sdept Sloc ────── ────── ────── 95001 CS A 95002 IS B 95003 MA C 95004 PH ───── 95005 ────── ────── An Introduction To Database System

An Introduction To Database System 模式的分解(续) 分解后的数据库丢失了许多信息 例如无法查询95001学生所在系或所在宿舍。 如果分解后的关系可以通过自然连接恢复为原来的关系,那么这种分解就没有丢失信息 An Introduction To Database System

An Introduction To Database System 模式的分解(续) 2. SL分解为下面二个关系模式: NL(Sno, Sloc) DL(Sdept, Sloc) 分解后的关系为: NL ──────────── DL ──────────── Sno Sloc Sdept Sloc ──────────── ──────────── 95001 A CS A 95002 B IS B 95003 C MA C 95004 B PH B 95005 B ──────────── ────────── An Introduction To Database System

An Introduction To Database System 模式的分解(续) NL DL ───────────── Sno Sloc Sdept 95001 A CS 95002 B IS 95002 B PH 95003 C MA 95004 B IS 95004 B PH 95005 B IS 95005 B PH An Introduction To Database System

An Introduction To Database System 模式的分解(续) NL DL比原来的SL关系多了3个元组 无法知道95002、95004、95005 究竟是哪个系的学生 元组增加了,信息丢失了 An Introduction To Database System

An Introduction To Database System 第三种分解方法 3. 将SL分解为下面二个关系模式: ND(Sno, Sdept) NL(Sno, Sloc) 分解后的关系为: An Introduction To Database System

An Introduction To Database System 模式的分解(续) ND ──────────── NL ────────── Sno Sdept Sno Sloc ──────────── ────────── 95001 CS 95001 A 95002 IS 95002 B 95003 MA 95003 C 95004 IS 95004 B 95005 PH 95005 B ──────────── ─────────── An Introduction To Database System

An Introduction To Database System 模式的分解(续) ND NL ────────────── Sno Sdept Sloc 95001 CS A 95002 IS B 95003 MA C 95004 CS A 95005 PH B 与SL关系一样,因此没有丢失信息 An Introduction To Database System

An Introduction To Database System 具有无损连接性的模式分解 关系模式R<U,F>的一个分解 ρ={ R1<U1,F1>,R2<U2,F2>, …,Rn<Un,Fn>} 若R与R1、R2、…、Rn自然连接的结果相等,则称关系 模式R的这个分解ρ具有无损连接性(Lossless join) 具有无损连接性的分解保证不丢失信息 无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题 An Introduction To Database System

An Introduction To Database System 模式的分解(续) 第三种分解方法具有无损连接性 问题: 这种分解方法没有保持原关系中的函数依赖 SL中的函数依赖Sdept→Sloc 没有投影到关系模式ND、NL上 An Introduction To Database System

An Introduction To Database System 保持函数依赖的模式分解 设关系模式R<U,F>被分解为若干个关系模式 R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn> (其中U=U1∪U2∪…∪Un,且不存在Ui  Uj,Fi为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的(Preserve dependency)。 An Introduction To Database System

An Introduction To Database System 第四种分解方法 将SL分解为下面二个关系模式: ND(Sno, Sdept) DL(Sdept, Sloc) 这种分解方法就保持了函数依赖。 An Introduction To Database System

An Introduction To Database System 模式的分解(续) 如果一个分解具有无损连接性,则它能够保证不丢失信息。 如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。 分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。 An Introduction To Database System

An Introduction To Database System 模式的分解(续) 第一种分解方法既不具有无损连接性,也未保持函 数依赖,它不是原关系模式的一个等价分解 第二种分解方法保持了函数依赖,但不具有无损连 接性 第三种分解方法具有无损连接性,但未持函数依赖 第四种分解方法既具有无损连接性,又保持了函数 依赖 An Introduction To Database System

An Introduction To Database System 分解算法 算法5.2 判别一个分解的无损连接性 算法5.3 (合成法)转换为3NF的保持函数依赖的分解。 算法5.4 转换为3NF既有无损连接性又保持函数依赖的分解 算法5.5 转换为BCNF的无损连接分解(分解法) 算法5.6 达到4NF的具有无损连接性的分 解P196 图5 .11 An Introduction To Database System

An Introduction To Database System 分解算法 解P196 图5 .11 若要求分解具有无损连接性,那么模式分解一定能够达到4NF。 若要求分解保持函数依赖,那么模式分解一定能够达到3NF,但不一定能够达到BCNF。 若要求分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF。 An Introduction To Database System

An Introduction To Database System 泛关系假设 “假设已知一个模式Sφ,它仅由单个关系模式组成,问题是要设计一个模式SD,它与Sφ‘等价’,但在某些方面更好一些” 从一个关系模式出发,而不是从一组关系模式出发实行分解 “等价”的定义也是一组关系模式与一个关系模式的“等价” An Introduction To Database System