早教吧 育儿知识 作业答案 考试题库 百科 知识分享

无损分解的过程求救构造表中的a1、a2、a13,、b1、b2、b13是怎么确定的?如何由关系变化的?.设关系模式R(ABCD),F是R上成立的FD集,F={A->B,B->C,A->D,D->C},ρ={AB,AC,BD}是R的一个分解.相对于F,ρ是否无损分

题目详情
无损分解的过程求救 构造表中的a1、a2、a13,、b1、b2、b13是怎么确定的?如何由关系变化的?
.设关系模式R(ABCD),F是R上成立的FD集,F={A->B,B->C,A->D,D->C},ρ={AB,AC,BD}是R的一个分解.相对于F,ρ是否无损分解?为什么?用测试过程可以知道,ρ相对于F是损失分解.我的解法:由chase过程,建立表格 A B C DAB a1 a2 b13 b14AC a1 b21 a3 b24BD b31 a2 b32 a4由B->C,表格变为 A B C DAB a1 a2 a3 b14AC a1 b21 a3 b24BD b31 a2 b32 a4由A->D,表格变为A B C DAB a1 a2 a3 a4AC a1 b21 a3 b24BD b31 a2 b32 a4存在一行全部为a,因此是无损分解.
▼优质解答
答案和解析
构造一张k行n列的表格,每列对应一个属性Aj(1≤j≤n),每行对应一个模式Ri(1≤i≤k).如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上bij.
把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的值.修改方法如下:对于F中一个FD X→Y,如果表格中有两行在X值上相等,在Y值上不相等,那么把这两行在Y值上也改成相等的值.如果Y值中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中一个bij替换另一个值(尽量把下标ij改成较小的数).一直到表格不能修改为止.(这个过程称为chase过程)
若修改的最后一张表格中有一行是全a,即a1a2…an,那么称ρ相对于F是无损分解,否则称损失分解.