要判断关系模式的分解是否满足无损分解和保持函数依赖,需要分别通过以下方法验证:
一、无损分解判断
定义:分解后的子关系通过自然连接能完全恢复原关系(无信息丢失)
方法1:表格法(Chase算法)
-
构建初始表
- 对分解后的每个子模式RiRi创建一行
- 若属性Aj属于Ri,则单元格填aj,否则填bij
示例:
原关系R(A,B,C,D),分解为R1(A,B)和R2(B,C,D)A B C D R1 a1 a2 b13 b14 R2 b21 a2 a3 a4 -
应用函数依赖修改表
根据函数依赖修改符号,目标是将某行变为全aa符号
例如:若存在B→C,则R1行的C列改为a3 -
终止条件
- 出现全a行 → 无损分解
- 无法继续修改且无全a行 → 有损分解