结构推理
设有三个关系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
试用关系代数表达式表示下列查询语句
(1)检索LIU老师所授课程的课程号、课程名。
(2)检索年龄大于23岁的男学生的学号与姓名。
(3)检索学号为S3学生所学课程的课程名与任课教师名。
(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。
(5)检索WANG同学不学的课程号。
(6)检索至少选修两门课程的学生学号。
(7)检索全部学生都选修的课程的课程号与课程名。
(8)检索选修课程包含LIU老师所授课程的学生学号。
【正确答案】(1)πC#,CNAME(σTEACHER='LIU'(C))
(2)πS#,SNAME(σAGE>'23'∧SEX='男'(S))
(3)πCNAME,TEACHER(σS#='S3'(SCC))
(4)πSNAME(σSEX='女'∧TEACHER='LIU'(SSCC))
(5)πC#(C)-πC#(σSNAME='WANG'(SSC))
或者,
πC#(SC)-πC#(σSNAME='WANG'(SSC)) (全部课程号减去WANG同学所学的课程号)
(6) πS#(σ1=4∧2≠5(SC×SC))
(7)检索全部学生都选修的课程的课程号与课程名。
πC#,CNAME(C(πS#,C#(SC)÷πS#(S))) (涉及到全部值时,应用除法,“除数”是"全部")
(8)检索选修课程包含LIU老师所授课程的学生学号。
πS#(σTEACHER='LIU'(SCC))
如果LIU老师有多门课程,则选修课程包含LIU老师所授全部课程的学生学号为:
πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))
【答案解析】