设有关系模式W(C,P,S,G,T,R),其中个属性的含义:C-课程,P-教师,S-学生,G-成绩,T-时间,R-教师,有如下函数依赖:D={C->P,(S,C)->G,(T,R->C),(T,P)->R,(T,S)->R}
W的候选关键字是什么?W的规范化程序已经达到什么范式?
怎么做啊?讲下思路。
设有关系模式W(C,P,S,G,T,R),其中个属性的含义:C-课程,P-教师,S-学生,G-成绩,T-时间,R-教师,有如下函数依赖:D={C->P,(S,C)->G,(T,R->C),(T,P)->R,(T,S)->R}
W的候选关键字是什么?W的规范化程序已经达到什么范式?
怎么做啊?讲下思路。
求候选关键字:(T,S),因为,L属性只有T,S并且(T,S)闭包为(CPSGTR),所以候选码唯一,且为T,S.
范式:第二范式;原因,主属性为T,S;不存在非主属性对码的部分依赖。也就是,没看到T->某属性组,S->某属性组。所以为第二范式.
判断是否属于第三范式:由于(T,S)->R,所以可以得出,T,S->T,R.由于,但是T,R-/->T,S,(T,S)->C,存在非主属性C对主属性T,S的传递依赖,所以不属于第三范式。
这种题目的思路就是按照定义:先确定候选码-确定主属性->根据定义判断。
我感觉W只达到了第一范式。首先关键字肯定会选择课程。
首先对于第三范式,要求满足第二范式,同时范式中不能存在传递依赖,而在其中通过时间和教师可以推出课程((T,R)->C),而通过课程又可以推出教师P。
对于第二范式,它要求非主属性不能部分依赖于码。在W中,要得到学生本门课的成绩需要通过课程和学生两个属性来得出((S,C)->G)。这样成绩就部分依赖于主键C,如果C和S同时做主键,那么成绩就不是部分依赖于主键了,但是教室R的得出需要时间T和学生S得出,这样又是R部分依赖于主键S。
由以上的分析我觉得W只满足第一范式。