《数据库习题作业【精选文档】》由会员分享,可在线阅读,更多相关《数据库习题作业【精选文档】(10页珍藏版)》请在金锄头文库上搜索。
1、数据库习题作业【精选文档】数据库习题作业重点(第234章)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
2、 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)
3、试用关系代数表达式表示下列查询语句: 检索年龄小于17岁的女学生的学号和姓名。 检索男学生所学课程的课程号和课程名。 检索男学生所学课程的任课教师的工号和姓名. 检索至少选修两门课的学生学号. 检索至少有学号为S2和S4学生选修的课程的课程号。 检索WANG同学不学的课程的课程号. 检索全部学生都选修的课程的课程号与课程名。 检索选修课程包含LIU老师所授全部课程的学生学号。解:S,SNAME(AGEALL(SELECT S FROM SWHERE SNAME=WANG)AND AGEALL( SELECT AGEFROM SWHERE SNAME=WANG);在表SC中检索成绩为空值的学生的
4、学号和课程号.SELECT S, CFROM SCWHERE SCORE IS NULL;检索姓名以L开头的所有学生的姓名和年龄.SELECT SNAME, AGEFROM SWHERE SNAME LIKE L%;求年龄大于女同学平均年龄的男学生的姓名和年龄.SELECT SNAME, AGEFROM SWHERE SEX=MAND AGE(SELECT AVG(AGE)FROM SWHERE SEX=F);求年龄大于所有女同学年龄的男学生的姓名和年龄。SELECT SNAME, AGEFROM SWHERE SEX=MAND AGEALL(SELECT AGEFROM SWHERE SEX
5、=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 FACU
6、LTY(TNAME)SELECT DISTINCT TNAMEFROM T, C, SC WHERE CC=SCC AND TT=CTAND 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 CFROM C WHERE CNAME=MATHS);UPDATE