关系代数 - 函数依赖

Relational algebra - Functional Dependencies

我只是想确定...如果我有两个依赖项,例如

会不会和这个一样

如果我对你的问题理解正确,你是在问两组函数依赖性 {a → c, b → c}{ab → c} 是否等价。这个问题的答案是没有.

a → cb → c可以证明ab → c(通过应用函数依赖的定义:x → y当且仅当,当两个元组具有相同的 x 值时,它们也具有相同的 y 值)。您还可以使用 Armstrong’s Axioms 推导 ab → c(例如,从 a → c 开始,首先使用 b 应用增广公理,获得 ab → bc,然后将分解应用到获得ab → c).

但反之亦然:您不能从 ab → c 证明 a → c,也不能证明 b → c,并且您不能从 [=14] 推导出两个依赖项中的任何一个=] 通过阿姆斯特朗公理。例如,考虑依赖关系 StudentNumber, CourseName → Grade(断言一对 StudentNumberCourseName 只能有 Grade)。从这种依赖关系中,您不能断言对于 StudentNumber 只有 Grade,或者对于 CourseName 只有 Grade.