为什么表格打不开无损连接在表格法中,一行全是a,就是无损连接啊??

软考软件的设计师-模式分解无损連接性之深入剖析

模式分解的无损连接性之深入剖析1. 无损连接分解的形式定义   无损连接分解的形式定义如下:设R是一个关系模式F是R仩的一个函数依赖(FD)集。R分解成数据库模式δ={R1,……,Rk}如果对R中每一个满足F的关系r都有下式成立:   那么称分解δ相对于F是“无损连接分解”,否则称为“损失连接分解”其中表示自然连接。   从上述形式定义中可知若直接根据定义来判断某个分解是否具有无损连接性,那么就得“对R中每一个满足F的关系r”进行测试看是否满足上面的等式,这显然不可操作因为“对R中每一个满足F的关系r”进行测试就意味着“对R中所有满足F的关系r”进行测试,显然是不可能的这里所说的“关系”就是指一张具体的表。   因此必须寻求其它的可操莋性方法来判别分解的无损连接性。   2. 无损连接分解的普通判别方法——表格法   设关系模式R=A1,…,AnR上成立的FD集F,R的一个分解p={R1,…,Rk}无损連接分解的判断步骤如下:   (1)构造一张k行n列的表格,每列对应一个属性Aj(1≤j≤n)每行对应一个模式Ri(1≤i≤k)。如果Aj在Ri中那么在表格的第i行第j列处填上符号aj,否则填上符号bij   (2)把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立若不成立,则修改表格中的元素修改方法如下:对于F中一个FD:X→Y,如果表格中有两行在X分量上相等在Y分量上不相等,那么把这两行在Y分量上改成相等如果Y的分量中有┅个是aj,那么另一个也改成aj;如果没有aj那么用其中的一个bij替换另一个(尽量把ij改成较小的数,亦即取i值较小的那个)   若在修改的过程中,发现表格中有一行全是a即a1,a2,…,an,那么可立即断定p相对于F是无损连接分解此时不必再继续修改。若经过多次修改直到表格不能修改之后发现表格中不存在有一行全是a的情况,那么分解就是有损的特别要注意,这里有个循环反复修改的过程因为一次修改可能导致表格能继续修改。   修改过程中要特别注意若某个bij被改动,那么它所在列的所有bij都需要做相应的改动为了明确这一点,举例说明例如,我们根据FD“H→I”、“ K→L”来修改表格之前时的表格如表1所示(已经过多次修改非初始表,空的单元表示省略):   表1 ? H I J K L R1 ? b12 ? ? b35 R2 a1 a2 ? a4 b25 R3 a1 b12 ? a4 b35 R4 ?   R2、R3所在行的H分量都为a1根据FD“H→I”,需要修改这两行对应的I分量而R2所在行的I分量为a2,因此要将R3所在行的I分量b12修改为a2,注意到R1、R4所在行的H分量也为b12,因此这两行对应的I分量也必须修改为a2。R2、R3所在行的K分量都为a4根据FD“K→L”,需要修改这两行对应的L分量于是将R3所在行的L分量b35修改为較小的b25,同时注意到R1、R4所在行的L分量也为b35,因此这两行对应的L分量也必须修改为b25。修改后的表格如表2所示: b14 a5 IKL b21 a2 b23 a4 a5 IJL b31 a2 a3 b34 a5   对于函数依赖集中的H→J、J→K对表3进行处理由于属性列H和属性列J上无相同的元素,所以无法修改但对于I→J在属性列I上对应的1、2、3行上全为a2元素,所以将属性列J的第一行b13和第二行b23改为a3。修改后如表4所示: 【例题】(表4 选项B的中间表 ? H I J K L

数据库期末(A卷)徐州工程学院试卷,卷,期末,数据库,A 卷,学院数据库,期末试卷,期末试卷A

模式分解的无损连接性之深入剖析——所有资料文档均为本人悉心收集全部是文档中的精品,绝对值得下载收藏!

我要回帖

更多关于 为什么表格打不开 的文章

 

随机推荐