功能依赖混淆

functional dependency confusion

我有一个关于功能依赖的问题,我不明白。

table is here

我一生都无法理解为什么 {课程,季度,section_number}--->{教员}

是一个依赖项。课程栏让我失望,因为那里全都不同并且与四分之一栏不匹配。例如,2013 年秋季在 cs520 和 cs 422 中有 2 个不同的值。我认为 2013 年秋季必须具有相同的值?如果我记得 FD 的定义是函数依赖说如果两个元组的属性 A1、A2、...、An 具有相同的值,那么这两个元组必须具有相同的属性 B1、B2、... , Bn.我对这个 FD 很困惑 lol

你的 FD 的意思是,对于课程、季度和节号的任意组合,都会分配一个特定的教员。您似乎将其与假设的 FD quarter -> course 混淆了,这将要求每个季度只有一个课程价值。

从数据中,我可以看出 quarter -> faculty 不成立,因为 C。太阳 E。 Kang2013 年秋季 有关。 course -> faculty 确实适用于给定数据 - CS520 出现两次并且仅与 C 相关联。 Sun,每隔一门课只出现一次。由于 course 是教师的决定因素,因此包含课程的列的任何超集也是决定因素。

你可以把函数依赖想象成编程中的函数。给定左侧列的值作为输入,您能否确定性地 return 右侧列的匹配值?如果是,则您有 FD。您不必使用左侧的所有值,但就像在编程中一样,最小的函数依赖性很重要。