Armstrong公理系统 逻辑蕴涵 定义/解释 比如A->B B->C 在关系模型R<U,F>中成立,可以得到A->C字R中也成立,所以称F逻辑蕴含A->C。 闭包 定义/解释 在关系模型R中,F所 逻辑蕴涵 的 所有函数依赖 叫做F的闭包,记为 \(F^{+}\) 。 某个属性集关于依赖集的闭包 定义/解释 即已有X这个属性集作为左部,通过依赖集F的所有函数依赖,可以推导出的所有函数依赖,称为X关于F的闭包,记为 \(X_F^{+}\) 例题 已知关系模型R<U,F>,其中U={A,B,C,D,E} F={AB->C,B->D,C->E,EC->B,AC->B},求 \((AB)_F^{+}\) 。 算法:把AB作为左部,然后从F中找到左部是完全属于AB的,把对应的右部并到AB里,作为新的左部,重复直到不能再增加左部或者已经等于全集。 结果: \((AB)_F^{+}\) =ABCDE 最小依赖集 例题 F={abd->e,ab->g,b->f,c->j,cj->i,g->h} 算法: 将右部有多个的 拆开 ,比如ab->cd 变成 ab->c,ab->d 尝试删除左侧的冗余函数依赖,具体操作是对于每个函数依赖X->A,假设将该依赖删除,然后求X在剩下的依赖集中的闭包 \(X_G^{+}\) ,如果A属于这个闭包,那么就可以删除。 尝试删除左侧的冗余属性