四、程序设计题〔本大题共 2 小题,每题 15 分,共 30 分〕
1.对于教学数据库的三个根本表
学生 student (sno,sname,sex,sage,sdept)
学习 sc(sno,cno,grade)
课程 course(cno,cname,cpno,ccredit)
试用 SQL 语句表示:以下语句。
〔1〕"查询全男同学信息情况"
"select * from student where sex='男'"
〔2〕"查询选修了 1 号课的学生的学号和成绩"
"select sno,grade from sc where cno='1'"
〔3〕"查询所有选修过课的学生的姓名,课程名及成绩"
"select sname,cname,grade from student,sc,course where student.sno=sc.sno and
sc.cno=course.cno"
〔4〕"查询选修了数据库原理课的最高成绩"
"select max(grade) as '最高成绩' from student,sc,course where student.sno=sc.sno and
sc.cno=course.cno and cname='数据库原理'"
〔5〕查询所有选修了 1 号课程的同学的姓名" "
select sname from student where student.sno in (select sc.sno from sc where cno='1')"
2. 设有一个 SPJ 数据库,包括 S,P,J,SPJ 四个关系模式〔20 分〕
供给商表 S〔SNO,SNAME,STATUS,CITY〕;
零件表 P(PNO,PNAME,COLOR,WEIGHT);
工程工程表 J(JNO,JNAME,CITY);
供给情况表 SPJ(SNO,PNO,JNO,QTY); SPJ 表
J 表
S 表
P 表
请用关系代数完成如下查询:
1. 求供给工程 J1 零件的供给商号 SNO
2. 求供给工程 J1 零件 P1 的供给商号吗 SNO
3. 求供给工程 J1 零件为红色的供给商号码 SNO
4. 求没有使用天津供给商生产的红色零件的工程号 JNO
5.求至少用了供给商 S1 所供给的全部零件的工程号 JNO
1. ∏
sno
〔σ
JNO=‘J1’
〔SPJ〕〕
2. ∏
sno
〔σ
JNO=‘J1’ΛPNO=’P1’
〔SPJ〕〕
3. ∏
sno
〔σ
JNO=‘J1’
〔SPJ〕∞σ
color=‘红’
〔P〕〕
4. ∏
jno
〔SPJ〕-∏
jno
〔∏
sno
〔σ
city=‘天津’
〔S〕〕∞∏
sno,jno
〔SPJ〕∞∏
jno
σ
color=‘红’
〔P〕〕
5. ∏
jno, pno
〔SPJ〕÷∏
pno
〔σ
sno=‘s1’
〔SPJ〕〕
五、分析题〔本大题共 2 小题,每题 15 分本大题共 30 分〕 1. 学生运动会模型:
(1)有假设干班级,每个班级包括: 班级号,班级名,专业,人数
评论0
最新资源