文档详情

数据库习题作业解析.doc

发布:2017-01-10约字共12页下载文档
文本预览下载声明
数据库习题作业重点(第2-3-4章) 2.6 设有关系R和S: R A B C S A B C 3 6 7 3 4 5 2 5 7 7 2 3 7 2 3 4 4 3 计算R∪S,R-S,R∩S,R×S,π3,2(S),σB’5’(R),R 22 S, R S。 解: R∪S A B C R-S A B C R∩S A B C 3 6 7 3 6 7 7 2 3 2 5 7 2 5 7 7 2 3 4 4 3 4 4 3 3 4 5 R×S R.A R.B R.C S.A S.B S.C π3,2(S) C B 3 6 7 3 4 5 5 4 3 6 7 7 2 3 3 2 2 5 7 3 4 5 2 5 7 7 2 3 7 2 3 3 4 5 7 2 3 7 2 3 4 4 3 3 4 5 4 4 3 7 2 3 σB’5’(R) A B C R?S R.A R.B R.C S.A S.B S.C 7 2 3 7 2 3 3 4 5 4 4 3 R?S A B C 7 2 3 2.7 设有关系R和S: R A B S B C a b b c c b e a d e b d 计算R ? S,R ? S,σA=C(R×S),S ? R。 2.8 假设关系U和V分别有m个元组和n个元组,给出下列表达式中可能的最小和最大的元组数量: ⑴ U∩V ⑵ U∪V ⑶ U?V ⑷ σF(U)×V (F为某个条件) ⑸ πL(U)-V (其中L为某属性集) 解: 操作 最小元组数 最大元组数 ⑴ U∩V 0 min(m,n) ⑵ U∪V max(m,n) m+n ⑶ U?V 0 m×n ⑷σF(U)×V 0 m×n ⑸πL(U)-V 0 m 2.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(σAGE’17’ ∧SEX=’F’(S)) ⑵ Πc#,CNAME(σSEX=M(S?SC?C)) ⑶ ΠT#,TNAME(σSEX=M(S?SC?C?T)) ⑷ π1(σ1=4 ∧ 2≠5(SC×SC)) ⑸ π2(σ1=’S2’ ∧4=’S4’∧ 2=5(SC×SC)) ⑹ πC#(C)-πC#(σSNAME=WANG(S?SC)) ⑺ πC#,CNAME(C?(πS#,C#(SC)÷πS#(S))) ⑻ πS#,C#(SC)÷πC#(σTNAME=LIU(C?T)) 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#.SNAME FROM S WHERE AGE17 AND SEX=’F’ ②检索男学生所学课程的课程号和课程名。 SELECT C.C#,CNAME (连接查询方式) FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’M’; ③检索男学生所学课程的任课老师的工号和姓名。 SELECT T.T#, TNAME FRO
显示全部
相似文档