无损连接的定义
指的是对关系模式分解时,原关系模式下任一合法的关系 实例在分解之后应能通过自然连接运算恢复起来。
验证无损连接的充要条件
但是具有局限性,即p关系模式中只有两个元素。
无损连接的测试方法-表格法
例:对给定的关系模式R(U,F),U={A,B,C,D,E},F={A→C, B→C,C→D,DE→C,CE→A},有如下的分解: ρ={AD,AB, BE,CDE,AE},判断分解ρ是否无损。
步骤一:构建一个表格
1 | 2 | 3 | 4 | 5 | ||
Ri | A | B | C | D | E | |
1 | AD | a1 | b12 | b13 | a4 | b15 |
2 | AB | a1 | a2 | b23 | b24 | b25 |
3 | BE | b31 | a2 | b33 | b34 | a5 |
4 | CDE | b41 | b42 | a3 | a4 | a5 |
5 | AE | a1 | b52 | b53 | b54 | a5 |
步骤二:对F进行遍历,如A->C,找到涉及的所有列,即AC两列,然后找到关系左边A这一列中相同的元素(注意是相同的元素,不是找a),这些相同的元素位于1 2 5 行,然后在C列中的1 2 5行中找是否有a3(即这一列的a),如果有,就把1 2 5行改为a3,如果没有就改为bij(i为行号的最小值)。
第一步操作后表格为:
1 | 2 | 3 | 4 | 5 | ||
Ri | A | B | C | D | E | |
1 | AD | a1 | b12 | b13 | a4 | b15 |
2 | AB | a1 | a2 | b13 | b24 | b25 |
3 | BE | b31 | a2 | b33 | b34 | a5 |
4 | CDE | b41 | b42 | a3 | a4 | a5 |
5 | AE | a1 | b52 | b13 | b54 | a5 |
步骤三:这样反复进行,如果发现某一行变成了a1,a2,…,ak,则分解ρ具 有无损连接性;如果F中所有函数依赖都不能再修改表中的内容,且 没有发现这样的行,则分解ρ不具有无损连接性。