【问题标题】:How to determine the candidate key by functional dependancies in relational database theory关系数据库理论中如何通过函数依赖确定候选键
【发布时间】:2018-03-28 00:27:24
【问题描述】:

考虑学生记录的数据库关系如下: Student (I,G,P,M,S,Y,E,L,R,C)

(a) 展示如何为 Student 派生两个候选键,或说明为什么不能这样做。

(b) Student 是什么范式?展示证明你的答案合理的工作。

(c) 如果 F 包含 MSY→LRCE 而不是 PMSY→LRCE,这对纸意味着什么 名字? (即 M 的值)

(d) 为 Student 找到一个最小覆盖(即一组不可约的函数依赖)。

(e) 将 Student 分解为第三范式 (3NF)。


我坚持第一个关于候选键的问题。我知道候选键必须是 (I,P,M,S,Y,L,R) 的子集,因为它们出现在上述功能依赖项的左侧并确定所有剩余的属性。我们可以删除由 P 决定的 M,但是我有点困惑如何使这些属性最小化,尤其是来自复杂的函数依赖关系,例如 PMSY→LRCE。感谢任何解决方案和建议。

【问题讨论】:

    标签: database relational-database database-theory


    【解决方案1】:

    我不会做你的功课,但作为 (a) 的提示;

    F:IGPMSYELRC->IGPMSYELRC
    

    始终成立。凭借F:P->M,您可以删除M 并获得

    F:IGPSYELRC->IGPMSYELRC
    

    现在申请F:R->C获取

    F:IGPSYELR->IGPMSYELRC .
    

    重复此操作,直到您无法从左侧删除任何属性。 然后你得到一个候选键。

    F 的不同排列可能会产生其他候选键。

    【讨论】:

      猜你喜欢
      • 2016-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 2018-05-17
      相关资源
      最近更新 更多