0

考虑学生记录的数据库关系如下: 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。感谢任何解决方案和建议。

4

1 回答 1

0

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

F:IGPMSYELRC->IGPMSYELRC

总是成立。凭借F:P->M您可以删除M和获取

F:IGPSYELRC->IGPMSYELRC

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

F:IGPSYELR->IGPMSYELRC .

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

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

于 2018-03-28T11:25:35.943 回答