数据库第二章关系代数习题集.doc
文本预览下载声明
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:
??? S?????? ??????????? C?????????????????????? ?SC
S#
SNAME
AGE
SEX
1
李强
23
男
2
刘丽
22
女
5
张友
22
男
C#
CNAME
TEACHER
k1
C语言
王华
k5
数据库原理
程军
k8
编译原理
程军
S#
C#
GRADE
1
k1
83
2
k1
85
5
k1
92
2
k5
90
5
k5
84
5
k8
80
(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
(4) 检索”李强”同学不学课程的课程号(C#)。
(5) 检索至少选修两门课程的课程号(S#)。
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
(8) 检索选修课程号为k1和k5的学生学号(S#)。
(9) 检索选修全部课程的学生姓名(SNAME)。
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
(12)检索没有一门课程成绩不及格的学生学号,姓名。
答:本题各个查询语句对应的关系代数表达式表示如下:
(1) ΠC#,CNAME(σTEACHER =程军(C))
(2) ΠS#,SNAME(σAGE21^SEX =男(S))
(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#( σTEACHER =程军(C))))
(4) ΠC#(C)-ΠC#(σSNAME =李强(S)∞ SC)
(5) ΠS# (σ1=4^2≠5 (SC×SC))
(6) ΠC#,CNAME(C∞ (ΠS#,C#(SC)÷ΠS#(S)))
(7) ΠS# (SC∞ΠC# (σTEACHER =程军(C)))
(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’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))))
(12)П学号,姓名(学生)-П学号,姓名(σ分数60(学生∞学习))。
2.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:
1. 检索英语专业学生所学课程的信息,包括学号、姓名、课程名和分数。
П学号,姓名,课程名,分数(σ专业=英语(学生∞学习∞课程))。
2. 检索数据库原理课程成绩高于90分的所有学生的学号、姓名、专业和分数。
П学号,姓名,专业,分数(σ分数90∧名称=数据库原理(学生∞学习∞课程))。
3. 检索不学课程号为C135课程的学生信息,包括学号,姓名和专业。
П学号,姓名,专业(学生)-П学号,姓名,专业(σ课程号=C135(学生∞学习))。
4. 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
П学号,姓名,专业(学生)-П学号,姓名,专业(σ分数60(学生∞学习))。
3.现有关系数据库如下:
学生(学号,姓名,性别,专业、奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:
1. 检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
Π学号,姓名,课程名,分数(σ奖学金0∧专业=国际贸易(学生∞学习∞课程))。
2. 检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
Π课程号,名称,学分(σ分数=100(学习∞课程))。
3. 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
Π学号,姓名,专业(σ奖学金=0∧分数95(学生∞学习))。
4. 检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
Π学号,姓名,专业(学生)-Π学号,姓名,专业(σ分数80(学生∞学习))。
4. 设有关系S、SC和C,试用关系代数表达式完成下列操作。
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数据记录。SC(snum,cnum,score), 例:(1,“C1”,83)
显示全部