数据库第三章部分习题答案

上传人:s9****2 文档编号:498249784 上传时间:2023-06-29 格式:DOC 页数:7 大小:33.51KB
返回 下载 相关 举报
数据库第三章部分习题答案_第1页
第1页 / 共7页
数据库第三章部分习题答案_第2页
第2页 / 共7页
数据库第三章部分习题答案_第3页
第3页 / 共7页
数据库第三章部分习题答案_第4页
第4页 / 共7页
数据库第三章部分习题答案_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《数据库第三章部分习题答案》由会员分享,可在线阅读,更多相关《数据库第三章部分习题答案(7页珍藏版)》请在金锄头文库上搜索。

1、3.2 对于教学数据库的三个基本表 S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER)试用SQL的查询语句表达下列查询:检索年龄小于17岁的女学生的学号和姓名select s#,sname from Swhere age=2;检索至少有学号为S2和S4所学的课程和课程名select c#,cname from Cwhere c# in(select c# from sc where s#=S2)intersect(select c# from sc where s#=S4) );检索WANG同学不学的课程号select c# from

2、 cexcept(select distinct c# from sc where s# =(select s# from s where sname=WANG);检索全部学生都选修的课程号和课程名select c#,cname from cwhere not exists(select s# from swhere c.c# not in (select c# from sc where sc.s#=s.s# );检索选修课程包含LIU老师所授课程的全部课程的学生的学号和姓名select s#,sname from swhere not exists(select c# from c whe

3、re t#=(select t# from t where tname=LIU) except(select c# from sc where sc.s#=s.s#) );3.4 设有两个基本表R(A,B,C)和S(A,B,C),试用SQL查询语句表达下列关系代数表达式: RS RS RS RSA,B(R) B,C(S) 3=3 课 1,6(3=4(RS) 1,2,3(R S) RC(S)解: (SELECT * FROM R)UNION(SELECT * FROM S); (SELECT * FROM R)INTERSECT(SELECT * FROM S); (SELECT * FROM

4、R)MINUS(SELECT * FROM S); SELECT *FROM R, S; SELECT R.A, R.B, S.CFROM R, SWHERE R.B=S.B; SELECT R.A, S.CFROM R, SWHERE R.C=S.A; SELECT R.*(R.*表示R中全部属性)FROM R, SWHERE R.C=S.C;RC(S)的元组表达式如下: t |(u)(v)(w)(R(u) S(v) R(w) w1=u1 w2=u2 w3=v3 t1=u1 t2=u2)据此,可写出SELECT语句:SELECT A, BFROM R RXWHERE NOT EXISTS(

5、SELECT *FROM SWHERE NOT EXISTS( SELECT *FROM R RYWHERE RY.A=RX.A AND RY.B=RX.B AND RY.C=S.C); 3.6 试叙述SQL语言的关系代数特点和元组演算特点。答:SQL的关系代数特点如下: 有关系代数运算的并、交、差、自然联接等运算符; FROM子句体现了笛卡尔积操作,WHERE子句体现了选择操作,SELECT子句体现了投影操作。SQL的元组演算特点如下: FROM子句中的基本表名应视为“元组变量”,属性名应视为“元组分量”; 有存在量词EXISTS符号。 3.12 试用SQL更新语句表达对3.2题教学数据库中

6、关系S、SC、C的更新操作: 往关系C中插一个课程元组(C8,VC+,T6)。 检索所授每门课程平均成绩均大于80分的教师姓名,并把检索到的值送往另一个已存在的表FACULTY(TNAME)。 在SC中删除尚无成绩的选课元组。 把选修LIU老师课程的女同学选课元组全部删去。 把MATHS课不及格的成绩全改为60分。 把低于所有课程总平均成绩的女同学成绩提高5。 在表SC中修改C4课程的成绩,若成绩小于等于70分时提高5,若成绩大于70分时提高4(用两种方法实现,一种方法是用两个UPDATE语句实现,另一种方法是用带CASE操作的一个UPDATE语句实现)。 在表SC中,当某个成绩低于全部课程的

7、平均成绩时,提高5%。解: INSERT INTO CVALUES(C8,VC+,T6); INSERT INTO FACULTY(TNAME)SELECT DISTINCT TEACHERFROM (SELECT TEACHER, C.C#, AVG(GRADE)FROM S, SCWHERE SC.C#=C.C#GROUP BY TEACHER, C.C#)AS RESULT(TEACHER, C#, AVG_GRADE) AS XWHERE 80=ALL(SELECT AVG_GRADEFROM RESULT AS YWHERE Y.TEACHER=X.TEACHER); DELETE

8、FROM SCWHERE GRADE IS NULL; DELETE FROM SCWHERE S# IN(SELECT S# FROM S WHERE SEX=F)AND C# IN(SELECT C# FROM C WHERE TEACHER=LIU); UPDATE SCSET GRADE=60WHERE GRADE60AND C# IN(SELECT C# FROM C WHERE CNAME=MATHS); UPDATE SCSET GRADE=GRADE*1.05WHERE S# IN(SELECT S# FROM S WHERE SEX=F)AND GRADE70;UPDATE

9、SCSET GRADE=GRADE*1.05WHERE C#=C4 AND GRADE70 THEN 1.04ELSE 1.05ENDWHERE C#=C4; UPDATE SCSET GRADE=GRADE*1.05WHERE GRADE50 AND SEX=M;SELECT EMP.E#, ENAMEFROM EMP, WORKSWHERE EMP.E#=WORKS.E# AND SALARY1000;SELECT A.E#, A.ENAMEFROM EMP A, WORKS B, WORKS CWHERE A.E#=B.E# AND B.E#=C.E#AND B.C#=C4 AND C.C#=C8;SELECT A.E#, A.ENAMEFROM EMP A, WORKS B, COMP CWHERE A.E#=B.E# AND B.C#=C.C#

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号