版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章关系数据库理论回顾6.2.3范式1NF6.2.42NF6.2.53NF6.2.6BCNF6.2.42NF2NF定义6.6若R1NF,且每个非主属性完全函数依赖于码,则称R2NF消除非主属性对码的部分函数依赖6.2.53NF定义6.7关系模式R<U,F>
中若不存在这样的码X、属性组Y及非主属性Z(ZY),使得X→Y,(Y→X),Y→Z成立,则称R<U,F>∈3NF。6.2.6BC范式(BCNF)定义6.8设关系模式R<U,F>∈1NF,若X→Y
且YX时X必含有候选码,则R∈BCNF
设关系模式R<U,F>∈1NF,如果对于R的每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。也就是说,关系模式R<U,F>中,若每一个决定因素都包含码,则R<U,F>∈BCNF。
6.2.6BC范式(续)例:在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称:
(S,J)→T,(S,T)→J,T→J
6.2.6BC范式(续)
SJTSTJSTJ
6.2.6BC范式(续)STJ∈3NF
(S,J)和(S,T)都可以作为候选码
S、T、J都是主属性STJ∈BCNFT→J,T是决定属性集,T不是候选码
6.2.6BC范式(续)若R∈BCNFR中的所有非主属性对每一个码都是完全函数依赖R中的所有主属性对每一个不包含它的码,也是完全函数依赖没有任何属性完全函数依赖于非码的任何一组属性R∈3NF(证明)若R∈3NF则R不一定∈BCNF
6.2.6BC范式(续)
解决方法:将STJ分解为二个关系模式:
SJ(S,J)∈BCNF,TJ(T,J)∈BCNF
没有任何属性对码的部分函数依赖和传递函数依赖SJSTTJTJ
6.2.6BC范式(续)3NF与BCNF的关系如果关系模式R∈BCNF,必定有R∈3NF。如果R∈3NF,且R只有一个候选码,则R必属于BCNF。6.2.7多值依赖例:每个宿舍住着多个学生;每个学生可选修多门课程;为了生活学习方便,同一宿舍的学生约好选修相同的课程。 关系模式
SSC(SSH,SNAME,CNO)
宿舍号(SSH)、学生姓名(SNAME)和选修课程(CNAME)6.2.7多值依赖6.2.7多值依赖例:每个classroom有多个教师给多个班上课;每个教师在多个classroom给多个班上课;每个班在多个classroom听多个教师讲课。6.2.7多值依赖例:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。每个教员可以讲授多门课程,每种参考书可以供多门课程使用 关系模式Teaching(C,T,B)
课程C、教师T和参考书B6.2.7多值依赖6.2.7多值依赖(续)课程C教员T参考书B
物理
数学
计算数学李勇王军
李勇张平
张平周峰
普通物理学光学原理物理习题集
数学分析微分方程高等代数
数学分析
6.2.7多值依赖(续)普通物理学光学原理物理习题集普通物理学光学原理物理习题集数学分析微分方程高等代数数学分析微分方程高等代数…李勇李勇李勇王军王军王军李勇李勇李勇张平张平张平
…物理物理物理物理物理物理数学数学数学数学数学数学
…参考书B教员T课程C6.2.7多值依赖(续)Teaching∈BCNF:Teaching具有唯一候选码(C,T,B),即全码Teaching模式中存在的问题
(1)数据冗余度大:有多少名任课教师,参考书就要存储多少次6.2.7多值依赖(续)(2)插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组例如物理课增加一名教师刘关,需要插入两个元组:
(物理,刘关,普通物理学)(物理,刘关,光学原理)6.2.7多值依赖(续)(3)删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组(4)修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组6.2.7多值依赖(续)产生原因 存在多值依赖6.2.7多值依赖(续)对于关系模式R及其属性子集X,Y来说,如果给定一个X属性值,就有一组Y属性值(可以包括零个在内的有限多个)与之对应,而与其他的属性Z(Z=R-X-Y)无关,则称X多值决定Y,或Y多值依赖于X,并记为X→→Y.6.2.7多值依赖(续)定义6.10
设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且Z=U-X-Y,多值依赖X→→Y成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关
6.2.7多值依赖(续)例Teaching(C,T,B)
对于C的每一个值,T有一组值与之对应,而不论B取何值6.2.7多值依赖(续)多值依赖形式化定义:在R(U)的任一关系r中,如果存在元组t,s使得t[X]=s[X],那么就必然存在元组w,vr,(w,v可以与s,t相同),使得(1)w[X]=v[X]=t[X]=s[X](2)w[Y]=t[Y]且w[Z]=s[Z](3)v[Y]=s[Y]且v[Z]=t[Z](即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为X→→Y。6.2.7多值依赖(续)平凡多值依赖和非平凡的多值依赖
若X→→Y,而Z=φ,则称
X→→Y为平凡的多值依赖 否则称X→→Y为非平凡的多值依赖6.2.7多值依赖(续)(1)多值依赖具有对称性若X→→Y,则X→→Z,其中Z=U-X-Y
多值依赖的对称性可以用完全二分图直观地表示出来。(2)多值依赖具有传递性若X→→Y,Y→→Z,则X→→Z-Y6.2.7多值依赖(续)XiZi1Zi2…ZimYi1Yi2…Yin多值依赖的对称性6.2.7多值依赖(续)物理普通物理学光学原理物理习题集李勇王军6.2.7多值依赖(续)(3)函数依赖是多值依赖的特殊情况。 若X→Y,则X→→Y。(4)若X→→Y,X→→Z,则X→→YZ。(5)若X→→Y,X→→Z,则X→→Y∩Z。(6)若X→→Y,X→→Z,则X→→Y-Z, X→→Z-Y。6.2.7多值依赖(续)多值依赖与函数依赖的区别(1)有效性多值依赖的有效性与属性集的范围有关若X→→Y在U上成立,则在W(XYWU)上一定成立;反之则不然,即X→→Y在W(WU)上成立,在U上并不一定成立6.2.7多值依赖(续)多值依赖的定义中不仅涉及属性组X和Y,而且涉及U中其余属性Z。一般地,在R(U)上若有X→→Y在W(WU)上成立,则称X→→Y为R(U)的嵌入型多值依赖6.2.7多值依赖(续)(2)
若函数依赖X→Y在R(U)上成立,则对于任何Y'Y均有X→Y'成立多值依赖X→→Y若在R(U)上成立,不能断言对于任何Y'Y有X→→Y'成立6.2.84NF定义6.10关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(YX),X都含有候选码,则R∈4NF。如果R∈4NF,则R∈BCNF4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖
允许的只是函数依赖(非平凡的多值依赖)6.2.84NF(续)例:Teaching(C,T,B)∈4NF
存在非平凡的多值依赖C→→T,且C不是候选码用投影分解法把Teach分解为如下两个关系模式:
CT(C,T)∈4NF CB(C,B)∈4NF
C→→T,C→→B是平凡多值依赖6.2.9规范化小结关系数据库的规范化理论是数据库逻辑设计的工具。一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化。规范化程度可以有多个不同的级别6.2.9规范化小结(续)规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、删除异常、修改复杂、数据冗余等问题一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化6.2.9规范化小结(续)关系模式规范化的思想消除不合适的数据依赖的各关系模式达到某种程度的“分离”采用“一事一地”的模式设计原则让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去所谓规范化实质上是概念的单一化.6.2.9规范化小结(续)不能说规范化程度越高的关系模式就越好在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式.关系规范化在现实应用中可在任一步终止。6.2.9规范化小结(续)2NF4NF1NF3NF消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除主属性对码的传递函数依赖消除非平凡且非函数的多值依赖BCNF第六章关系数据理论6.1数据依赖6.2规范化6.3数据依赖的公理系统6.4模式的分解6.3数据依赖的公理系统逻辑蕴含 定义6.11对于满足一组函数依赖F的关系模式R<U,F>,其任何一个关系r,若函数依赖X→Y都成立(X→Y∈F),则称F逻辑蕴含X→Y6.3数据依赖的公理系统定义6.11`设F的关系模式R<U,F>的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推导出X→Y,则称F逻辑蕴含X→Y或X→Y是F的逻辑蕴含(涵).闭包(Closure)所有被F逻辑蕴含的函数依赖集称为F的闭包(Closure)记为F+6.3数据依赖的公理系统(续)Armstrong公理系统一套推理规则,是模式分解算法的理论基础用途求给定关系模式的码从一组函数依赖求得蕴含的函数依赖6.3数据依赖的公理系统(续)关系模式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所蕴含。6.3数据依赖的公理系统(续)注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于F定理6.lArmstrong推理规则是正确的6.3数据依赖的公理系统(续)(l)自反律(Reflexivity):
若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成立.自反律得证6.3数据依赖的公理系统(续)(2)增广律(Augmentation):若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所蕴含.增广律得证。6.3数据依赖的公理系统(续)(3)传递律(Transitivity):若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所蕴含.传递律得证。6.3数据依赖的公理系统(续)由Armstrong公理导出的推理规则合并律(unionrule)若XY,XZ,则XYZ}XY增广律}XXY}XZ增广律XYYZ传递律XYZ6.3数据依赖的公理系统(续)由Armstrong公理导出的推理规则分解律(decompositionrule)若XY,及ZY则
XZ}ZY自反律}YZXY传递律XZ若XYZ,则XY,XZ6.3数据依赖的公理系统(续)由Armstrong公理导出的推理规则伪传递律(pseudotransitivityrule)若XY,WYZ,则WXZ}XY增广律}WXWYWYZ传递律WXZ6.3数据依赖的公理系统(续)示例练习
R<U,F>,U=(A,B,C,G,H,I),F={AB,AC,CGH,CGI,BH},AH?CGHI?AGI?6.3数据依赖的公理系统(续)2.根据合并规则和分解规则,可得引理6.1
引理6.lX→A1A2…Ak成立的充分必要条件是X→Ai成立(i=l,2,…,k)。6.3数据依赖的公理系统(续)函数依赖闭包定义6.l2在关系模式R<U,F>中为F所逻辑蕴含的函数依赖的全体叫作F的闭包,记为F+6.3数据依赖的公理系统(续)
F={X→Y,Y→Z},F+计算是NP完全问题,
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→YZX→YZ,XY→XZ,XZ→XY,XYZ→XZ,X→ZYZ,XY→XYZ,XZ→XYZ,XYZ→XYZ}6.3数据依赖的公理系统(续)定义6.13属性集的闭包:设F为属性集U上的一组函数依赖,X
U,
XF+={A|X→A能由F根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F的闭包6.3数据依赖的公理系统(续)引理6.2
设F为属性集U上的一组函数依赖,X,Y
U,X→Y能由F根据Armstrong公理导出的充分必要条件是Y
XF+6.3数据依赖的公理系统(续)问题:有没有一般性的算法判定XY是否能由F根据Armstrong公理导出?如果计算出F+,再判断XY是否属于F+,则由于F+的计算非常复杂,实际上是不可行的。由引理2,将判定X→Y是否能由F根据Armstrong公理导出的问题,就转化为求出XF+
,判定Y是否为XF+的子集的问题6.3数据依赖的公理系统(续)求属性集闭包的算法算法6.l求属性集X(X
U)关于U上的函数依赖集F的闭包XF+
输入:X,F输出:XF+6.3数据依赖的公理系统(续)步骤:(1)令X(0)=X,i=0(2)求B,这里B={A|(
V)(
W)(V→WF∧VX(i)∧A
W)};(3)X(i+1)=B∪X(i)(4)判断X(i+1)=X
(i)吗?6.3数据依赖的公理系统(续)(5)若相等或X(i)=U,则X(i)就是XF+,
算法终止。(6)若否,则i=i+l,返回第(2)步。对于算法6.l,令ai=|X(i)|,{ai
}形成一个步长大于1的严格递增的序列,序列的上界是|U|,因此该算法最多|U|-|X|次循环就会终止。6.3数据依赖的公理系统(续)DefineXF+=closureofX=setofattributesfunctionallydeterminedbyXBasis:XF+:=XInduction:IfYXF+,andY→AisagivenFD,thenaddAtoXF+EndwhenXF+cannotbechanged.yX+NewX+A6.3数据依赖的公理系统(续)Example
U={A,B,C,D};F={A→B,BC→D};A+=AB.C+=C.(AC)+=ABCD.ACB6.3数据依赖的公理系统(续)U={A,B,C,D};F={A→B,BC→D};(AC)+=ABCD.ACDB6.3数据依赖的公理系统(续)[例1]已知关系模式R<U,F>,其中U={A,B,C,D,E};F={AB→C,B→D,C→E,EC→B,AC→B}。求(AB)F+
。6.3数据依赖的公理系统(续)解设X(0)=AB;(1)计算X(1):逐一的扫描F集合中各个函数依赖,找左部为A,B或AB的函数依赖。得到两个:
AB→C,B→D。于是X(1)=AB∪CD=ABCD。6.3数据依赖的公理系统(续)(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。6.3数据依赖的公理系统(续)Armstrong公理系统的有效性与完备性建立公理系统体系目的:从已知的
f
推导出未知的f明确:1.公理系统推导出来的f正确?2.F+中的每一个f都能推导出来?
f不能由F导出,f
∈
F+6.3数据依赖的公理系统(续)Armstrong公理是有效的、完备的。有效性:由F出发,根据Armstrong公理推导出来的每一个函数依赖一定在F+中。完备性:F+中的每一个函数依赖,必定可以由F出发,根据Armstrong公理推导出来。6.3数据依赖的公理系统(续)要证明完备性,就首先要解决如何判定一个函数依赖是否属于由F根据Armstrong公理推导出来的函数依赖的集合。当然,如果能求出这个集合,问题就解决了。但不幸的是,这是一个NP完全问题。比如从F={X→A1,…,X→An}出发,至少可以推导出2n个不同的函数依赖。6.3数据依赖的公理系统(续)证明:
1.有效性可由定理6.l得证2.完备性 只需证明逆否命题:
若函数依赖X→Y不能由F从Armstrong公理导出,那么它必然不为F所蕴含分三步证明:6.3数据依赖的公理系统(续)(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上成立。6.3数据依赖的公理系统(续)
XF+
U-XF+
11......100......0
11......111......1
若r不是R<U,F>的关系,则必由于F中有函数依赖V→W在r上不成立所致。由r的构成可知,V必定是XF+的子集,而W不是XF+的子集,可是由第(1)步,W
XF+,矛盾。所以r必是R<U,F>的一个关系。6.3数据依赖的公理系统(续)Armstrong公理的完备性及有效性说明:“蕴含”==“导出”等价的概念
F+==由F出发借助Armstrong公理导出的函数依赖的集合6.3数据依赖的公理系统(续)函数依赖集等价 定义6.14如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。6.3数据依赖的公理系统(续)函数依赖集等价的充要条件引理6.3F+=G+的充分必要条件是
F
G+,和G
F+证:必要性显然,只证充分性。(1)若FG+,则XF+
XG++。(2)任取X→YF+则有Y
XF+
XG++。 所以X→Y(G+)+=G+。即F+
G+。(3)同理可证G+
F+,所以F+=G+。6.3数据依赖的公理系统(续)最小依赖集定义6.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等价。6.3数据依赖的公理系统(续)[例2]对于6.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}6.3数据依赖的公理系统(续)F是最小覆盖,而F’不是。因为:F’-{SNO→MN}与F’等价
F’-{(SNO,SDEPT)→SDEPT}也与F’等价
F’-{(SNO,SDEPT)→SDEPT}∪{SNO→SDEPT}也与F’等价6.3数据依赖的公理系统(续)定理6.3每一个函数依赖集F均等价于一个极小函数依赖集Fm。此Fm称为F的最小依赖集6.3数据依赖的公理系统(续)证:构造性证明,依据定义分三步对F进行“极小化处理”,找出F的一个最小依赖集。(1)逐一检查F中各函数依赖FDi:X→Y,若Y=A1A2…Ak,k>2,则用{X→Aj
|j=1,2,…,k}来取代X→Y。
引理6.1保证了F变换前后的等价性。6.3数据依赖的公理系统(续)(2)逐一检查F中各函数依赖FDi:X→A,令G=F-{X→A},若AXG+,则从F中去掉此函数依赖。由于F与G=F-{X→A}等价的充要条件是AXG+
因此F变换前后是等价的。6.3数据依赖的公理系统(续)(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}等价的充要条件是AZF+,其中Z=X-Bi
因此F变换前后是等价的。6.3数据依赖的公理系统(续) 由定义,最后剩下的F就一定是极小依赖集。因为对F的每一次“改造”都保证了改造前后的两个函数依赖集等价,因此剩下的F与原来的F等价。证毕定理6.3的证明过程也是求F极小依赖集的过程6.3数据依赖的公理系统(续)例6.3将下列函数依赖集F化为最小依赖集F=AB→CD→EGC→ABE→CBC→DCG→BDACD→BCE→AG6.3数据依赖的公理系统(续)解:按最小依赖集的定义分别考虑三个条件(1)用分解规则将所有依赖变为右边都是单属性的依赖.即:AB→CD→ED→GC→ABE→CBC→DCG→BCG→DACD→BCE→ACE→G6.3数据依赖的公理系统(续)(2)去掉F中多余的依赖,其具体做法是:从第一个依赖开始,从F中去掉它(假设该依赖是X→Y);然后在剩下的依赖中求X+,看X+是否包含Y,若是,则去掉X→Y;若不包含Y,则不能去掉X→Y.这样一次做下去,则可符合条件(2).6.3数据依赖的公理系统(续)注:按不同的次序考虑可能得到不同的结果.为什么?6.3数据依赖的公理系统(续)(3)去掉各依赖左边多余属性.其方法是一个一个地检查F中左边是非单属性的依赖.例如XY→A,现在要判断Y是否为多余的,只要在F中求出X+,若X+
包含A,则Y是多余属性;否则Y不是多余属性.依次判断其他属性即可消除各依赖左边的多余属性6.3数据依赖的公理系统(续)
F1`=F2`=AB→CC→ABC→DCD→BD→ED→GBE→CCG→DCE→GCG→B
ACD→B
CE→AAB→CC→ABC→DD→ED→GBE→CCG→BCE→G6.4模式的分解分解的基本代数运算投影自然连接分解的目标无损连接分解保持函数依赖保持函数依赖且无损连接分解达到更高级范式6.4模式的分解把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义6.4模式的分解(续)三种模式分解的等价定义⒈分解具有无损连接性⒉分解要保持函数依赖⒊分解既要保持函数依赖,又要具有无损连接性6.4模式的分解(续)定义6.16关系模式R<U,F>的一个分解:ρ={R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>}U=U1∪U2∪…∪Un,且不存在Ui
Uj,Fi
为F在Ui
上的投影定义6.17
函数依赖集合{X→Y|X→Y
F+∧XY
Ui}的一个覆盖
Fi
叫作F在属性Ui
上的投影6.4模式的分解(续)例:SL(Sno,Sdept,Sloc)
F={Sno→Sdept,Sdept→Sloc,Sno→Sloc}SL∈2NF存在插入异常、删除异常、冗余度大和修改复杂等问题分解方法可以有多种6.4模式的分解(续)SL──────────────────
Sno
Sdept
Sloc
──────────────────95001CSA95002ISB95003MAC95004ISB95005 PH B──────────────────6.4模式的分解(续)1.SL分解为下面三个关系模式:
SN(Sno)
SD(Sdept)
SO(Sloc)6.4模式的分解(续)分解后的关系为:SN
SDSOSno
9500195002950039500495005SdeptCSISMAPHSlocABC6.4模式的分解(续)分解后的数据库丢失了许多信息例如无法查询95001学生所在系或所在宿舍。如果分解后的关系可以通过自然连接恢复为原来的关系,那么这种分解就没有丢失信息6.4模式的分解(续)2.SL分解为下面二个关系模式:
NL(Sno,Sloc)
DL(Sdept,Sloc)分解后的关系为:
NL────────────DL────────────
Sno
Sloc
Sdept
Sloc
────────────────────────95001A CSA95002B ISB95003C MAC95004B PHB95005B──────────────────────6.4模式的分解(续)NLDL─────────────
Sno
Sloc
Sdept
─────────────95001ACS95002BIS95002BPH95003CMA95004BIS95004BPH95005BIS95005BPH6.4模式的分解(续)
NLDL比原来的SL关系多了3个元组
无法知道95002、95004、95005
究竟是哪个系的学生
元组增加了,信息丢失了6.4模式的分解(续)第三种分解方法3.将SL分解为下面二个关系模式:
ND(Sno,Sdept)
NL(Sno,Sloc)
分解后的关系为:
6.4模式的分解(续)ND────────────NL──────────
Sno
Sdept
Sno
Sloc
──────────────────────95001CS95001A95002IS95002B95003MA95003C95004IS95004B95005PH95005B
───────────────────────6.4模式的分解(续)
NDNL──────────────
Sno
Sdept
Sloc──────────────
95001CSA95002ISB95003MAC95004CSA95005PHB──────────────与SL关系一样,因此没有丢失信息6.4模式的分解(续)具有无损连接性的模式分解关系模式R<U,F>的一个分解ρ={R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>}若R与R1、R2、…、Rn自然连接的结果相等,则称关系模式R的这个分解ρ具有无损连接性(Losslessjoin)6.4模式的分解(续)具有无损连接性的分解保证不丢失信息无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题6.4模式的分解(续)
第三种分解方法具有无损连接性
问题:
这种分解方法没有保持原关系中的函数依赖
SL中的函数依赖Sdept→Sloc
没有投影到关系模式ND、NL上6.4模式的分解(续)保持函数依赖的模式分解设关系模式R<U,F>被分解为若干个关系模式
R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>(其中U=U1∪U2∪…∪Un,且不存在Ui
Uj,Fi为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的(Preservedependency)。6.4模式的分解(续)第四种分解方法将SL分解为下面二个关系模式:
ND(Sno,Sdept)
DL(Sdept,Sloc)
这种分解方法就保持了函数依赖。6.4模式的分解(续)如果一个分解具有无损连接性,则它能够保证不丢失信息。如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。6.4模式的分解(续)第一种分解方法既不具有无损连接性,也未保持函数依赖,它不是原关系模式的一个等价分解第二种分解方法保持了函数依赖,但不具有无损连接性第三种分解方法具有无损连接性,但未保持函数依赖第四种分解方法既具有无损连接性,又保持了函数依赖6.4模式的分解(续)分解算法算法6.2判别一个分解的无损连接性方法:(1)建立矩阵S,列j对应属性Aj,行i对应Ri;(2)FORi=1TOkDOFORj=1TOnDOIFRi
包含属性AjTHEN
S[i,j]:=aj;ELSE
S[i,j]:=bij;ENDFOR;ENDFOR;6.4模式的分解(续)示例第1,2步U={A,B,C,D,E},F={ABC,CD,DE} ={(A,B,C),(C,D),(D,E)}ABCDEABCa1a2a3b14b15CDb21b22a3a4b25DEb31b32b33a4a56.4模式的分解(续)(3)DOUNTILS无变化
FOR每个XYDOFORS中所有在X对应的列上具有相同符号的行
i1,i2,…ikDO
按照下列规则修改Y所对应列的符号:
a.FOR每个具有“a”类符号的Y对应列DO
把该列i1,i2,…ik行的符号改为相同的a类符号;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度汉堡店铺股权让渡与经营权变更协议3篇
- 2025年度消防工程分包合同样本(包含消防应急预案)3篇
- 农业创新人才培养
- 2025年双方公司文化旅游产业合伙经营协议书3篇
- 2024年版协议拟定格式细则版B版
- 基础研究科研机构创新能力构成要素分析模型
- 财务共享模式下国有企业业财融合的财务管理探析
- 金融数据分析师岗位说明书
- 深圳市义工联合会新义工培训
- 金华2024年浙江金华武义县政务服务管理办公室招聘编外工作人员笔试历年典型考点(频考版试卷)附带答案详解版
- 北京市海淀区2021-2022学年第一学期四年级期末考试语文试卷(含答案)
- 新疆维吾尔自治区和田地区各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 哈尔滨市城市规划管理技术规定
- 用人单位终止(解除)劳动合同证明书参考
- 天津工业大学《工程力学》2017-2018-1期末试卷及答案
- 能力素质,胜任力模型
- app界面设计(课堂PPT)
- 工程总承包EPC实施方案
- 开展创新型课题QC小组活动实施指导意见
- 胖东来超市部收银员服务标准
- 精通版四年级下册英语全册教学课件(2021年春修订)
评论
0/150
提交评论