考虑学生记录的数据库关系如下: Student (I,G,P,M,S,Y,E,L,R,C)
(a)展示如何为学生推导出两个候选键,或证明为什么不能这样做。
(b)学生的正常形式是什么?展示合理的答案。
(c)如果F包含MSY→LRCE而不是PMSY→LRCE,这对纸张意味着什么 名字呢? (即M的值)
(d)为学生找到一个最小的封面(即一组不可约的函数依赖)。
(e)将学生分解为第三范式(3NF)。
我坚持关于候选键的第一个问题。我知道候选键必须是(I,P,M,S,Y,L,R)的子集,因为它们出现在上面的功能依赖性的左侧并确定所有剩余的属性。我们可以删除由P确定的M,但后来我对如何使这些属性最小化感到困惑,特别是来自复杂的函数依赖,例如PMSY→LRCE。感谢任何解决方案和建议。
答案 0 :(得分:0)
我不会做你的作业,而是作为(a)的提示;
F:IGPMSYELRC->IGPMSYELRC
始终坚持。根据{{1}},您可以删除F:P->M
并获取
M
现在应用F:IGPSYELRC->IGPMSYELRC
来获取
F:R->C
重复此操作,直到您无法从左侧删除任何属性。 然后你有一个候选键。
使用F:IGPSYELR->IGPMSYELRC .
的不同排列,这可能会产生其他候选键。