云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据库原理及应用习题参考答案

数据库原理及应用习题参考答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/3 19:00:01

3-7 设教务管理数据库中有三个关系 S(SNO,SNAME,AGE,SEX,SDEPT) SC(SNO,CNO,GRADE)

C(CNO,CNAME,CDEPT,TNAME)

试用关系代数表达式表示下列查询语句:

⑴ 检索LIU老师所授课程的课程号、课程名。 ⑵ 检索年龄大于23岁的男学生的学号与姓名。

⑶ 检索学号为S3学生所学课程的课程名与任课教师名。 ⑷ 检索至少选修LIU老师所授课程中一门课的女学生姓名。 ⑸ 检索WANG同学不学的课程的课程号。 ⑹ 检索至少选修两门课程的学生学号。

⑺检索全部学生都选修的课程的课程号与课程名。 ⑻ 检索选修课程包含LIU老师所授课程的学生学号。 解:⑴ πC#,CNAME(σTEACHER=’LIU’(C))

⑵ πS#,SNAME(σAGE>’23’∧SEX=’M’(SC)) ⑶ πCNAME,TEACHER(σS#=’S3’(SC C))

⑷ πSNAME(σSEX=’F’∧TEACHER=’LIU’(S SC C)) ⑸ πC#(C)-πC#(σSNAME=’WANG’(S SC)) ⑹ π1(σ1=4∧2≠5(SC×SC))

⑺ πC#,CNAME(C (πS#,C#(SC)÷πS#(S))) ⑻ πS#,C#(SC)÷πC#(σTEACHER=’LIU’(C))

3-8 在3.7题的三个关系中,用户有一查询语句:检索数学系的学生选修计算机系开设的课程的课程名和任课教师

姓名。

⑴ 试写出该查询的关系代数表达式。 ⑵ 试写出该查询优化的关系代数表达式。

⑶ 画出该查询初始的关系代数表达式的语法树。

⑷ 使用3.5.3节的优化算法,对语法树进行优化,并画出优化后的语法树。 解:⑴ πCNAME,TEACHER(σDEPT=‘数学系’(S SC C))

⑵ 设L1=πS#(σDEPT=‘数学系’(S)),L2=πS#,C#(SC),则优化的关系代数表达式为: σ(R×S)

第 5 页

πCNAME,TEACHER(σSC.C#=C.C#(πSC.C#(σS.S#=SC.S#((L1×L2)×C))))

⑶ 查询初始的关系代数表达式可表达为:

πCNAME,TEACHER(σDEPT=‘数学系’(πL(σS.S#=SC.S#∧SC.C#=C.C#((S×SC)×C))))

此处L为S、SC、C中的全部属性(公共属性只取一次)。 ⑷ 优化后的语法树为

3-9 为什么要对关系代数表达式进行优化?

答:关系代数表达式由关系代数操作组合而成。操作中,以笛卡尔积和连接操作最费时间,并生成大量的中间结果。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,以便减少中间结果,节省时间。

优化工作是由DBMS做的,用户书写时不必关心优化一事,仍以简练的形式书写。

习题4

4-1 名词解释

基本表 视图 实表 相关子查询 联接查询

嵌套查询 交互式SQL 嵌入式SQL 游标 答:

基本表:实际存储在数据库中的表,称为基本表。

CL S.S#=SC.S#∧SC.C#=C.C#DEPT=’数学系’πσCNAME,TEACHER×S SCCπσ×σ πDEPT=’数学系’σCNAME,TEACHER×S SCπ 第 6 页

视图:是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是数据库中只存放视图的定义而不存放视图的数据。

实表:是对基本表的别称。

相关子查询:SELECT语句嵌套时,子查询中查询条件依赖于外层查询中的值,因此子查询要反复求值供外层查询使用。这种子查询称为相关子查询。

连接查询:查询时要从多个基本表中提取数据,此时把多个基本表写在同一层的FROM子句中,这种查询形式称为连接查询。

嵌套查询:查询时要从多个基本表中提取数据,此时把多个基本表分别放在不同层次上的FROM子句中,这种查询形式称为嵌套查询。

交互式SQL:在终端交互方式使用的SQL语言。

嵌入式SQL:嵌入在高级语言的程序中使用的SQL语言。

游标:游标是与某一查询相联系的符号名。游标有游标关系和游标指针两层含义。在游标打开时,游标(指针)指向查询结果的第一个记录之前。 4-2 对于教务管理数据库的三个基本表 S(SNO,SNAME, SEX, AGE,SDEPT) SC(SNO,CNO,GRADE)

C(CNO,CNAME,CDEPT,TNAME) 试用SQL的查询语句表达下列查询:

⑴ 检索LIU老师所授课程的课程号和课程名。 ⑵ 检索年龄大于23岁的男学生的学号和姓名。

⑶ 检索学号为200915146的学生所学课程的课程名和任课教师名。 ⑷ 检索至少选修LIU老师所授课程中一门课程的女学生姓名。 ⑸ 检索WANG同学不学的课程的课程号。 ⑹ 检索至少选修两门课程的学生学号。

⑺ 检索全部学生都选修的课程的课程号与课程名。

⑻ 检索选修课程包含LIU老师所授课程的学生学号。 解:

⑴ SELECT C#,CNAME FROM C

WHERE TEACHER=’LIU’;

⑵ SELECT S#,SNAME FROM S

WHERE AGE>23 AND SEX=’M’;

⑶ SELECT CNAME,TEACHER FROM SC,C

WHERE SC.C#=C.C# AND S#=’200915146’

⑷ SELECT SNAME (连接查询方式) FROM S,SC,C

WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’F’ AND TEACHER=’LIU’; 或:

SELECT SNAME (嵌套查询方式) FROM S

WHERE SEX=’F’AND S# IN (SELECT S#

第 7 页

FROM SC

WHERE C# IN (SELECT C# FROM C

WHERE TEACHER=’LIU’))

或:

SELECT SNAME (存在量词方式) FROM S

WHERE SEX=’F’ AND EXISTS(SELECT* FROM SC

WHERE SC.S#=S.S# AND EXISTS(SELECT * FROM C

WHERE C.C#=SC.C# AND TEACHER=’LIU’))

⑸ SELECT C# FROM C

WHERE NOT EXISTS (SELECT * FROM S,SC

WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG)); ⑹ SELECT DISTINCT X.S# FROM SC AS X,SC AS Y

WHERE X.S#=Y.S# AND X.C#!=Y.C#; ⑺ SELECT C#.CNAME FROM C

WHERE NOT EXISTS (SELECT * FROM S

WHERE NOT EXISTS (SELECT * FROM SC

WHERE S#=S.S# AND C#=C.C#)); ⑻ SELECT DISTINCT S#

FROM SC AS X

WHERE NOT EXISTIS

(SELECT *

FROM C

WHERE TEACHER=’LIU’ AND NOT EXISTS (SELECT * FROM SC AS Y

WHERE Y.S#=X.S# AND Y.C#=C.C#));

4-3 试用SQL查询语句表达下列对4.2题中教务管理数据库的三个基本表S、SC、C查询: ⑴ 统计有学生选修的课程门数。

⑵ 求选修4号课程的学生的平均年龄。

⑶ 求LIU老师所授课程的每门课程的学生平均成绩。

第 8 页

搜索更多关于: 数据库原理及应用习题参考答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3-7 设教务管理数据库中有三个关系 S(SNO,SNAME,AGE,SEX,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME) 试用关系代数表达式表示下列查询语句: ⑴ 检索LIU老师所授课程的课程号、课程名。 ⑵ 检索年龄大于23岁的男学生的学号与姓名。 ⑶ 检索学号为S3学生所学课程的课程名与任课教师名。 ⑷ 检索至少选修LIU老师所授课程中一门课的女学生姓名。 ⑸ 检索WANG同学不学的课程的课程号。 ⑹ 检索至少选修两门课程的学生学号。 ⑺检索全部学生都选修的课程的课程号与课程名。 ⑻ 检索选修课程包含LIU老师所授课程的学生学号。 解:⑴ πC#,CNAME(σTEACHER=’LIU’(C)) ⑵ πS#,SNA

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com