问题
单项选择题
关系模式Student的候选关键码有
A.1个,为(Sno,Cno)
B.1个,为(Sno,Cno,Tname)
C.2个,为(Sno,Sname,Cno)和(Sno,Cno,Tname)
D.2个,为(Sno,Sname,Cno)和(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。