关系数据理论(三)求最小依赖集1
最小函数依赖集:
1. F中任一函数依赖的右部仅含有一个属性 2. F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。 (即F中的函数依赖均不能由F中其他函数依赖导出) 3. F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。 (F中各函数依赖左部均为最小属性集(不存在冗余属性))
例题1:
R<U, F>,U=ABCD, 函数依赖集 F = {A→BD,AB→C,C→D}。 求:F最小函数依赖集
解:
第一步: A→BD,可以分解为A→B和A→D。
此时F = {A→B,A→D,AB→C,C→D}
第二步: AB→C,A+ = {A,B,C,D} B+ = {B}
此时F = {A→B,A→D,A→C,C→D}
第三步:去掉F中所有冗余的函数依赖
此时F = {A→B,A→D,C→D}
解法步骤:
1.将F中的所有函数依赖的右边化为单一属性 2.去掉F中的所有函数依赖左边的冗余属性 3.去掉F中所有冗余的函数依赖