功能依赖混淆

时间:2016-04-21 07:18:07

标签: database relational-database database-schema

我有一个关于我不理解的功能依赖的问题。

table is here

我为我的生活无法理解为什么 {当然,季度,SECTION_NUMBER} ---> {教师}

是一种依赖。课程专栏将我抛弃,因为所有不同且与季度列不匹配。例如,2013年秋季在cs520和cs 422中有2个不同的值。我认为2013年秋季必须具有相同的值?如果我记得FD的定义是功能依赖性说如果两个元组具有相同的属性A1,A2,...,An的值,那么这两个元组必须具有相同的属性值B1,B2,...... ,Bn。我太沉迷于这个FD lol

1 个答案:

答案 0 :(得分:0)

您的FD意味着对于课程,季度和部分编号的任何组合,指定了一名特定的教师。您似乎对假设的FD quarter -> course感到困惑,这需要每个季度只有一个课程值。

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

您可以将编程中的功能视为功能依赖。给定左侧列的值作为输入,您能否确定性地返回右侧列的匹配值?如果是的话,你有FD。您不必使用左侧的所有值,但在编程中,最小的功能依赖性非常重要。