版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模式分解的无损连接性之深入剖析1. 无损连接分解的形式定义无损连接分解的形式定义如下:设R是一个关系模式,F是R上的一个函数依赖(FD)集。R分解成数据库模式=R1,Rk。如果对R中每一个满足F的关系r都有下式成立:那么称分解相对于F是“无损连接分解”,否则称为“损失连接分解”。其中表示自然连接。从上述形式定义中可知,若直接根据定义来判断某个分解是否具有无损连接性,那么就得“对R中每一个满足F的关系r”进行测试,看是否满足上面的等式,这显然不可操作,因为“对R中每一个满足F的关系r”进行测试就意味着“对R中所有满足F的关系r”进行测试,显然是不可能的。这里所说的“关系”就是指一张具体的表。因此
2、,必须寻求其它的可操作性方法来判别分解的无损连接性。2. 无损连接分解的普通判别方法表格法设关系模式R=A1,An,R上成立的FD集F,R的一个分解p=R1,Rk。无损连接分解的判断步骤如下:(1)构造一张k行n列的表格,每列对应一个属性Aj(1jn),每行对应一个模式Ri(1ik)。如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上符号bij。(2)把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的元素。修改方法如下:对于F中一个FD:XY,如果表格中有两行在X分量上相等,在Y分量上不相等,那么把这两行在Y分量上改成相等。如果Y的分量中
3、有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中的一个bij替换另一个(尽量把ij改成较小的数,亦即取i值较小的那个)。若在修改的过程中,发现表格中有一行全是a,即a1,a2,an,那么可立即断定p相对于F是无损连接分解,此时不必再继续修改。若经过多次修改直到表格不能修改之后,发现表格中不存在有一行全是a的情况,那么分解就是有损的。特别要注意,这里有个循环反复修改的过程,因为一次修改可能导致表格能继续修改。修改过程中要特别注意,若某个bij被改动,那么它所在列的所有bij都需要做相应的改动。为了明确这一点,举例说明。例如,我们根据FD“HI”、“ KL”来修改表格之前时的表格如表1
4、所示(已经过多次修改,非初始表,空的单元表示省略):表1 HIJKLR1 b12 b35R2a1a2 a4b25R3a1b12 a4b35R4 b12 b35R2、R3所在行的H分量都为a1,根据FD“HI”,需要修改这两行对应的I分量,而R2所在行的I分量为a2,因此,要将R3所在行的I分量b12修改为a2,注意到,R1、R4所在行的H分量也为b12,因此,这两行对应的I分量也必须修改为a2。R2、R3所在行的K分量都为a4,根据FD“KL”,需要修改这两行对应的L分量,于是将R3所在行的L分量b3
5、5修改为较小的b25,同时注意到,R1、R4所在行的L分量也为b35,因此,这两行对应的L分量也必须修改为b25。修改后的表格如表2所示:表2 HIJKLR1 a2 b25R2a1a2 a4b25R3a1a2 a4b25R4 a2 b25【例题】(软件设计师2002年上午试题38)设关系模式 R为 R(H,I,J,K,L),R上的一个函数依赖集为 F=HJ,JK,IJ,JLH,分解 (38) 是无损连接的。供选择的答案:(38) A. p=HK,HI,IJ,JKL,HL B. p=HIL,IKL,IJ
6、LC. p=HJ,IK,HL D. p=HI,JK,HL试题分析:根据上述判断方法,我们列出选项B(分解成三个关系模式R1(HIL)、R2(IKL)、R3(IJL) )的初始表如表3所示:表3 选项B的初始表 HIJKLHILa1a2b13b14a5IKLb21a2b23a4a5IJLb31a2a3b34a5对于函数依赖集中的HJ、JK对表3进行处理,由于属性列H和属性列J上无相同的元素,所以无法修改。但对于IJ在属性列I上对应的1、2、3行上全为a2元素,所以,将属性列J的第一行b13和第二行b23改为a3。修改后如表4所示:【例题】(表4 选项B的中间表 HIJKLHI
7、La1a2a3b14a5IKLb21a2a3a4a5IJLb31a2a3b34a5对于函数依赖集中的JLH在属性列J和L上对应的1、2、3行上为a3、a5元素,所以,将属性列H的第二行b21和第三行b31改为a1。修改后如表5所示:表5 选项B的结果表 HIJKLHILa1a2a3b14a5IKLa1a2a3a4a5IJLa1a2a3b34a5从表5可以看出,第二行为a1、a2、a3、a4、a5,所以分解p是无损的。有一种特殊情况要注意:分解后的各个关系模式两两均无公共属性。由于是模式分解,那么任一一个分解后的关系模式覆盖的属性集不可能是分解前的整个全部属性U,因此初始表中不存在全是
8、a的行。又注意到,分解后的各个关系模式两两均无公共属性,表明任两行在任一列上都没有相同的分量,这导致整个表格无法修改,保持初始状态。而初始状态不存在全是a的行,因此这种特殊情况的分解是有损的。例如,函数依赖集合FD,将关系模式R(ABCDEF)分解成R1(AB)、R2(CDE)、R3(F),那么这种分解肯定是有损的。考试中可能碰到这种情况,那么一眼就可以判断出结果,从而节省了时间。3. 无损连接分解的快捷判别方法首先要申明,这种快捷方法是有前提的,前提就是分解后的关系模式只有两个。其内容为:设=R1,R2是R的一个分解,F是R上的FD集,那么分解相对于F是无损分解的充分必要条件是:(R1R2)
9、(R1R2)或(R1R2)(R2R1)。这个“或”字很重要,这里表示(R1R2)(R1R2)、(R1R2)(R2R1)中只要有一个成立就行。这里的求交和相减运算的对象是关系模式的属性。【例题】关系模式R(U,F),其中U=W,X,Y,Z,F=WXY,WX, XZ,YW。那么下列分解中是无损分解的是 。供选择的答案:A.p=R1(WY),R2(XZ) B.p=R1(WZ),R2(XY)C.p=R1(WXY),R2(XZ) D.p=R1(WX),R2(YZ)试题分析:A选项,R1R2为空,肯定不满足条件。B选项,R1R2为空,肯定不满足条件。C选项,R1R2=X,R1-R2=WY,R2-R1=Z,
10、根据函数依赖集,XZ成立,所以满足条件。D选项,R1R2为空,肯定不满足条件。4. 总结模式分解无损性判别的源泉仍然是普通的表格法。这种快捷方法只不过是根据这种表格法推断出来的而已,是它的一个特列。但是这种快捷方法却往往非常有用。软件设计师2002年上午试题38)设关系模式 R为 R(H,I,J,K,L),R上的一个函数依赖集为 F=HJ,JK,IJ,JLH,分解 (38) 是无损连接的。供选择的答案:(38) A. p=HK,HI,IJ,JKL,HL B. p=HIL,IKL,IJLC. p=HJ,IK,HL D. p=HI,JK,HL试题分析:根据上述判断方法,我们列出选项B(分解成三个关系模式R1(HIL)、R2(IKL)、R3(IJL) )的初始表如表3所示:表3 选项B的初始表 HI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药店装修简易合同范本
- LED控制与驱动产品项目融资渠道探索
- 合成材料中间体项目融资渠道探索
- 新一代智能合约运营模式推广合同
- 智能制造系统研发合同
- 产品认证及售后服务升级改造项目投资合同
- 2024-2030年中国建筑涂料行业市场发展监测及投资前景展望报告
- 湖北宜昌市房屋出租合同范本
- 电子商务运营服务外包合同范本
- 教育培训行业在线教育产品开发合同
- 湖北省十堰市城区2024-2025学年九年级上学期期末质量检测综合物理试题(含答案)
- 小学科学项目化学习活动作业方案案例设计《设计制作动力小车项目化学习》
- 茶与健康 第二讲 茶成分课件
- 复工条件验收报告
- 小学生作文稿纸A4打印稿
- 2023理论学习、理论武装方面存在问题及原因剖析18条
- 运动技能学习与控制课件第三章运动能力与个体差异
- (部编)五年级语文下册小练笔(21篇)
- 《企业人力资源管理师考试用书考试通过必备一级》
- 2023年高考英语考前必练-非谓语动词(含近三年真题及解析)
- 高校科技成果转化政策与案例分享
评论
0/150
提交评论