数据库课堂练习全(答案全)供参习.docVIP

  • 13
  • 0
  • 约4.98千字
  • 约 7页
  • 2017-02-09 发布于江苏
  • 举报
数据库课堂练习全(答案全)供参习

一.以下涉及的教学数据库含有4个关系,方便起见,其名称简化为T、S、C和SC 教师关系 T(Tno,Tname,Title) 学生关系 S(Sno,Sname,Age,Sex) 课程关系 C(Cno,Cname,Tno) 选课关系 SC(Sno,Cno,Score) 查询选修了课程号为C2课程的学生学号和姓名 查询至少选修了钟教授所教课程中一门课程的学生学号和姓名。 查询不选修C2课程的学生姓名和年龄。 查询选修了全部课程的学生姓名。 查询至少有学号为S2和S4学生选修的课程的课程号。 解:1.ΠSno,Sname(6Cno=’C2’(SSC)) 2.ΠSno,Sname(6Tname=’钟’(SSCTC)) 3.ΠSname,Age(S)——ΠSname,Age(6Cno=’C2’(SSC)) 4.ΠSname(S (ΠSno,Cno(SC)))——ΠCno(C)) 5.ΠCno(61.Sno=’S2’∧2.Sno=’S4’∧(SC*SC)) 二、以下涉及的教学数据库含有4个关系,方便起见,其名称简化为T、S、C和SC 教师关系 T(Tno,Tname,Title) 学生关系 S(Sno,Sname,Age,Sex) 课程关系 C(Cno,Cname,Tno) 选课关系 SC(Sno,Cno,Score) 要求检索女同学选修课程的课程名和任课教师名。 试写出该查询的关系代数表达式 Πcname,Tname(sex=女(SSCCT)) 画出查询表达式的语法树 使用启发式优化算法,对语法树进行优化,并画出优化后的语法树 三、用SQL完成下面的查询和操作 查询不选修C2课程的学生姓名和年龄。 查询至少选修课程号C2和C4的学生学号。 求每一教师每门课程的学生选修人数(超过30人),要求显示教师工号、课程号和学生人数。查询结果按人数升序排列,人数相同按工号升序、课程号按降序排列。 查询只开设一门课程的教师工号和姓名。 把平均成绩大于80分的男同学的学号和平均成绩存入另一个已存在的表S_Score(Sno,AVG_Score)中。 解:1.不选C2的姓名和年龄 select Sname,Sage from S,SC Where s.sno=sc.sno and c.cno not in ‘C2’; 2.至少选修C2,C4的学号 select A.sno from sc as A scasB where A.sn=B.sno and A.cno=’C2’ and B.cno=’C4’ 3.select Tno c.Cno,count(Sno) from C,SC where C.Cno=SC.Cno group by Tno, C.Cno having count(s.sno)30 order by count(s.sno), Tno,C.Cno DESC 4.select Tno, Tname from T where Unique( select Tno from C where C.Tno=T.Tno) 5.Insert into S_Score(Sno,AVG_Score) select Sno, avg(Score) from SC where Sno( select Sno from S where Sex=’男’) group by Sno having Arg(Score)80 四、设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 试画出ER图,并在图上注明属性、联系的类型。 将ER图转换成关系模型,并注明主键和外键。 商店 商店编号 商店名 地址 商品 商品号 商品名 规格 单价 销售 商店编号 商品号 职工 职工编号 姓名 性别 业绩 五、查询计算机学生选修的所有课程名称 写出SQL 画出查询树、语法树,利用代数优化对原始语法树进行优化,画出优化语法树 答:1.SQL:select cname From s,sc,c where c.cno=sc.cno and

文档评论(0)

1亿VIP精品文档

相关文档