- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据库原理》作业参考答案4
第四次
1.关系系统定义。
答:一个系统可定义为关系系统,当且仅当它支持:1)关系数据结构,即从用户观点看,数据库是由表构成的,并且只有表这一种结构。2)支持选择、投影和(自然)连接运算,对这些运算不必要求定义任何物理存取路径。
2.关系系统分类。
答:按照E.F.Codd的思想,可以把关系系统分为:表式系统、最小关系系统、关系完备系统、全关系系统。表式系统仅支持关系数据结构,不支持集合级的操作;最小关系系统仅支持关系数据结构和投影、选择、连接三种关系操作;关系完备系统支持关系数据结构和所有关系代数运算、全关系系统支持关系模型所有特征。
3.查询优化定义。
答:对于一个给定的查询,通常会有许多种可能的策略,查询优化就是能从这许多策略中找出最有效的查询执行计划的一种处理过程。优化一方面出现在关系代数级,即系统尝试找出一个与给定的表达式等价但执行起来更为有效的表达式。另一方面是用于对处理查询选择一个详细的策略,比如使用统计信息、选择可用的特定索引,等等。
4.查询处理过程。
答:查询处理分为四个大的阶段:1)将查询转换为内部格式,这种内部格式通常为语法树或查询树,为了说明方便,内部格式可以理解为关系代数;2)将内部格式转换为规范格式,使用等价变换规则将阶段1的输出转换为某种等价、但更为高效的格式;3)为执行选择底层过程,优化器决定如何执行这个查询,考虑是否存在索引或其他物理存取路径、数据值的分布等等;4)生成并选择最低代价的查询计划,构造一组查询计划,然后选择一个最优的,也即代价最低的查询计划,每个查询计划绑定一系列底层操作。
(P166)
3.试述查询优化在关系系统中的重要性和可能性。
答:SQL语言为非过程化语言,用户只需提出‘干什么’,不必指出‘怎么干’。但分析SQL语句的底层执行过程,我们看出,同一SQL语句,执行过程可能有多种策略,而不同策略的执行效率又各不相同,如果系统不加分析随便选择一种执行策略,可能直接影响RDBMS底性能。因此,查询优化在关系系统中有着非常重要的地位,关系数据库和SQL语言能够取得成功,关键得益于查询优化技术的发展。
SQL语句的语义级别很高,通过对RDBMS查询处理过程的分析,我们知道关系系统可以将查询表达式等价变换成多种形式,然后对不同形式的执行过程再进行进一步分析,从而可以选择效率更高的执行过程,所以查询优化在关系系统中是可能的。
5.试述查询优化的一般准则。
答:1)选择运算应尽可能先做。这是优化策略中最重要、最基本的一条。
2)在执行连接前对文件适当地预处理。预处理方法主要有两种:对文件排序和在连接属性上建立索引。
3)把投影运算和选择运算同时进行。
4)把投影同其前或后的双目运算结合起来。
5)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算。
6)找出公共子表达式。重复出现的子表达式的结果不是很大的关系,则先计算一次公共子表达式并把结果写入中间结果是合算的。
4.对学生课程数据库有如下查询:
select cname from student,course,sc
where student.sno=sc.sno and sc.cno=course.cno and student.sdept=’is’;
画出用关系代数表示的语法树,用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的语法树。
答:
(student.sdet=’is’
(sc.cno=course.cno
(
SC
∏cname
(student.sno=sc.sno
Student
(
∏cname
Course
(student.sno=sc.sno
(
SC
Student
优化后的语法树
(student.sdet=’is’
(
(sc.cno=course.cno
语法树
Course
文档评论(0)