资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库习题作业重点(第2-3-4章)2.6 设有关系R和S:RABCSABC3673 4 5257723723443计算RS,R-S,RS,RS,3,2(S),B5(R),R 22 S, R S。解:RSABCRSABCRSABC367367723257257723443443345RSR.A R.B R.C S.A S.B S.C3,2(S)CB 36 73 4554 36 77 2332 25 73 45 25 77 23 72 33 45 72 37 23 44 33 45 44 37 2322B5(R)ABCRSR.A R.B R.C S.A S.B S.C723 72 33 45443RSABC7232.7 设有关系R和S: RABSBCabbccbeadebd BC计算R S,R S,A=C(RS),S R。be a2.8 假设关系U和V分别有m个元组和n个元组,给出下列表达式中可能的最小和最大的元组数量: UV UV UV F(U)V (F为某个条件) L(U)V(其中L为某属性集)解:操作最小元组数最大元组数 UV0min(m,n) UVmax(m,n)m+n UV0mnF(U)V0mnL(U)V0m2.17 设有三个关系:T(T#,TNMAE,TITLE)C(C#,CNAME,T#)S(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)试用关系代数表达式表示下列查询语句: 检索年龄小于17岁的女学生的学号和姓名。 检索男学生所学课程的课程号和课程名。 检索男学生所学课程的任课教师的工号和姓名。 检索至少选修两门课的学生学号。 检索至少有学号为S2和S4学生选修的课程的课程号。 检索WANG同学不学的课程的课程号。 检索全部学生都选修的课程的课程号与课程名。 检索选修课程包含LIU老师所授全部课程的学生学号。解:S#,SNAME(AGE17 SEX=F(S)c#,CNAME(SEX=M(SSCC)T#,TNAME(SEX=M(SSCCT)1(1=4 25(SCSC)2(1=S2 4=S4 2=5(SCSC)C#(C)C#(SNAME=WANG(SSC)C#,CNAME(C(S#,C#(SC)S#(S)S#,C#(SC)C#(TNAME=LIU(CT)2.21 在教学数据库的关系S、SC、C、T中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。 试写出该查询的关系代数表达式。 画出查询表达式的语法树。 使用启发式优化算法,对语法树进行优化,并画出优化后的语法树。解: 【3.2】设教学数据库中有4个关系:教师关系 T(T#,TNAME,TITLE)课程关系C(C#,CNAME,T#)学生关系S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,SCORE)试用SQL查询语句表示下列查询。解:检索年龄小于17岁的女学生的学号和姓名。SELECT S#SNAMEFROM SWHERE AGE10ORDER BY 2 DESC,1;检索学号比WANG同学大,而年龄比他小的学生姓名。SELECT SNAMEFROM SWHERE S#ALL(SELECT S# FROM SWHERE SNAME=WANG)AND AGE(SELECT AVG(AGE)FROM SWHERE SEX=F);求年龄大于所有女同学年龄的男学生的姓名和年龄。SELECT SNAME, AGEFROM SWHERE SEX=MAND AGEALL(SELECT AGEFROM SWHERE SEX=F);【312】解:INSERT INTO CVALUES(C8,VC+,T6);法一:INSERT INTO FACULTY(TNAME)SELECT DISTINCT TNAMEFROM (SELECT TNAME,CC#,AVG(SCORE) FROM T, C, SC WHERE TT#=CT# AND CC#=SCC# GROUP BY TNAME,CC#) AS RESULT(TNAME,C#,AVGSCORE) AS XWHERE 80=ALL(SELECT AVGSCORE FROM RESULT AS Y WHERE YTNAME=XTNAME);法二INSERT INTO FACULTY(TNAME)SELECT DISTINCT TNAMEFROM T, C, SC WHERE CC#=SCC# AND TT#=CT#AND T# NOT IN (SELECT T# FROM C WHERE C# IN (SELECT C# FROM SC GROUP BY C# HAVING AVG(SCORE)=80)DELETE FROM SC WHERE SCORE IS NULL;DELETE FROM SC WHERE S# IN(SELECT S# FROM S WHERE SEX=F) AND C# IN(SELECT C# FROM C, T WHERE C.T#=T.T# AND TNAME=LIU);UPDATE SC SET SCORE=60 WHERE SCORE60 AND C# IN(SELECT C#FROM C WHERE CNAME=MATHS);UPDATE SC SET SCORE
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号