关系模式Student的候选关键码有
A.1个,为(Sno,Cn
B.1个,为(Sno,Cno,Tnam
C.2个,为(Sno,Sname,Cn和(Sno,Cno,Tnam
D.2个,为(Sno,Sname,Cn和(Sno,Cno,Tnam
参考答案:A
解析: 据题意有Sno→Sname, Cno→Cname,(Sno,Cno)→Grade,(Sno,Cno)→ Tname,Tname→Taddr。 根据自反律有 (Sno,Cno)→Sno (Sno,Cno)→Cno 根据曾广律有 (Sno,Cno)→(Sname,Cno) (Sno,Cno)→(Sno,Cname) 根据传递律有 (Sno,Cno)→Taddr 因此有(Sno,Cno)→(SnO,Sname,Cno,Cname, Grade,Tname,Taddr),所以(Sno,Cno)是关系Student的码。 假设选项B(Sno,Cno,Tname)是码,(Sno,Cno)是 (Sno,Cno,Tname)的真子集,而已证明有(Sno,Cno)→ (SnO,Sname,Cno,Cname,Grade,Tname,Taddr),根据码的定义码中找不到这样的真子集, 所以 (Sno,Cno,Tname)不是码。 同理(Sno,Sname,Cno)、(Sno,Cno,Tname)也不是码。 关系Student只有(个码(Sno,Cno),本题的答案为A。