【问题标题】:functional dependency confusion功能依赖混淆
【发布时间】:2016-04-21 07:18:07
【问题描述】:

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

table is here

我一生都无法理解为什么 {course,quarter,section_number}--->{教师}

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

【问题讨论】:

    标签: database relational-database database-schema


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-06-29
      • 2020-11-30
      • 1970-01-01
      • 2015-01-16
      • 2013-09-25
      • 2011-12-16
      • 2018-12-16
      • 1970-01-01
      • 2017-01-31
      相关资源
      最近更新 更多