14.设有如下表所示的三个关系S、C和SC。试用关系代数表达式表示下列查询语句:
S
S# 1 2 5 C
AGE 23 22 22 SEX 男 女 男 SC
S# 1 2 5 2 5 5 C# K1 K1 K1 K5 K5 K8 SNAME 李强 刘丽 张友 C# K1 K5 K8 CNAME C语言 数据库原理 编译原理 TEACHER 王华 程军 程军 GRADE 83 85 92 90 84 80 (1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 (l)ΠC#,CNAME(σTEACHER=’程军’(C))
(2)检索年龄大于21岁男学生的学号(S#)和姓名(SNAME)。 (2)ΠS#,SNAME(σAGE>21∧SEX=’男’(S))
(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (3)ΠSNAME(S (ΠS#,C#(SC)÷ΠC#(σTEACHER=’程军’(C)))) (4)检索“李强”同学不学课程的课程号(C#)。 (4)ΠC#(C)-ΠC#(σSNAME=’李强’(S)SC) (5)检索至少选修两门课程的学生学号(S#)。
(5)ΠS#(σ[1]=[4]∧[2]≠[5](SC×SC))
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (6)ΠC#,CNAME(C(ΠS#,C#(SC)÷ΠS#(S)))
(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 (7)ΠS#(SCΠC#(σTEACHER=’程军’(C)))
(8)检索选修课程号为k1和k5的学生学号(S#)。 (8)ΠS#,C#(SC)÷ΠC#(σC#=’k1’∨ C#=’k5’(C)) (9)检索选修全部课程的学生姓名(SNAME)。 (9)ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(C)))
(10)检索选修课程包含课程号为k2的学生学号(S#)。 (10)ΠS#,C#(SC)÷ΠC#(σC#=’k2’(C))
或ΠS#(σC#=’2’( SC))
(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。 (11)ΠS#,SNAME(SΠS#(SC(σCNAME=’C语言’(C)))
(l)ΠC#,CNAME(σTEACHER=’程军’(C)) (2)ΠS#,CNAME(σAGE>2∧SEX=’男’(S)) (3)ΠSNAME(S
(ΠS#,C#(SC)÷ΠC#(σTEACHER=’程军’(C))))
SC)
(4)ΠC#(C)-ΠC#(σNAME=’李强’(S)(5)ΠS#(σ[1]=[4]∧[2]≠[s](SC×SC)) (6)ΠC#,CNAME(C(7)ΠS#(SC
(ΠS#,C#(SC)÷ΠS#(S)))
ΠC#(σTEACHER=’程军’(C)))
(8)ΠS#,C#(SC)÷ΠC#(σC#=’k1’∨ C#=’k5’(C)) (9)ΠSNAME(S
(ΠS#,C#(SC)÷ΠC#(C)))
(10)ΠS#,C#(SC)÷ΠC#(σC#=2(SC)) (11)ΠS#,SNAME(S
ΠS#(SC
(σCNAME=’C语言’(C)))
相关推荐: