Database design 不确定如何检查函数依赖项是否在F+;
我遇到了一个与函数依赖性有关的数据库设计问题 下面是我使用的关系模式R及其一组函数依赖项F:Database design 不确定如何检查函数依赖项是否在F+;,database-design,functional-dependencies,Database Design,Functional Dependencies,我遇到了一个与函数依赖性有关的数据库设计问题 下面是我使用的关系模式R及其一组函数依赖项F: R = (A, B, C, D, E, F, G) F = {A->BC, CD->AB, EF->AD, B->AEF} 我的目标是检查DE->AC是否可以从F派生,也就是说,它是否在F+(F闭包)中 我理解自反性、增广性、传递性、并集、分解和伪传递性的阿姆斯特朗公理(基本上是人们可以对函数依赖性进行的代数式操作,以将它们转换为R和F的真实陈述),但我不确定我是否以正确的方式
R = (A, B, C, D, E, F, G)
F = {A->BC, CD->AB, EF->AD, B->AEF}
我的目标是检查DE->AC是否可以从F派生,也就是说,它是否在F+(F闭包)中
我理解自反性、增广性、传递性、并集、分解和伪传递性的阿姆斯特朗公理(基本上是人们可以对函数依赖性进行的代数式操作,以将它们转换为R和F的真实陈述),但我不确定我是否以正确的方式应用了它们,从而得出了一个确切的答案,即DE->AC是否包含在F+中
我一直在搞DE->AC,这就是我到目前为止取得的成绩:
Given: A->BC
Given: CD->AB
Therefore: CD->A and CD->B
From there I deduced that CD->BC by the transitivity rule.
I then canceled out the C's on both sides:
D->B
After that I augmented E's on both sides:
DE->BE
By decomposition, I now have:
DE->B and DE->E, of which DE->B will be what I want to work with to try to make the right-hand-side AC.
现在,我有了这个函数依赖项的适当左侧,但我不确定接下来要做什么才能使右侧等效于AC
你们中有谁能看出我在下一步做什么方面可能遗漏了什么
非常感谢你的帮助 继续DE->BE和B->AEF以获得DE->ABDEF 现在继续执行->BC等操作,直到在RHS上设置了一个属性,该属性是AC的超集