数据库系统中的查询技术探讨毕业论文.docx
《数据库系统中的查询技术探讨毕业论文.docx》由会员分享,可在线阅读,更多相关《数据库系统中的查询技术探讨毕业论文.docx(30页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)题 目 名 称 数据库系统中的查询技术探讨院 (系) 专 业 班 级 学 生 姓 名 指 导 老 师 辅 导 老 师 时 间 目录毕业设计任务书 I开题报告 III指导教师审查意见 IX 评阅教师评语 X答辩会议记录 XI摘要 XII1 前言12 选题背景22.1 课题的背景及来源22.2 研究的目的和意义22.3 国内外发展现状和趋势与研究的主攻方向33 查询优化概述33.1 查询优化的基本概念33.2 关系查询语言43.3 查询优化目标53.4 查询处理流程64 数据库查询优化技术74.1 分布式查询优化7 4.1.1 分布式查询优化需要考虑的问题7 4.1.2 分布式查询
2、优化过程8 4.1.3 分布式查询优化的目标94.2 查询优化技术104.3 实例分析125 总结156 参考文献 157 致谢 16中文摘要 数据库系统中的查询技术探讨学 生 : 学院指导老师 : 学院【摘要】 数据库技术是通过研究数据库的结构、存储、设计管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。即:数据库技术是研究、管理和应用数据库的一门软件科学。查询优化技术是数据库管理系统设计和实现所采用的一项重要技术,也是影响数据库系统性能的一个重要因素,当前所有商用数据库都成功采用了这项技术。关系数据库系统和非过程化的SQL语言能够取得巨大成功
3、,主要得益于查询优化技术的发展。对于一个复杂的查询,寻找一个优化的执行策略是数据库系统开发成功的关键所在,此项研究目前在数据库领域仍属于NP问题。在查询执行的过程中,低效的SQL查询语句,概貌信息的匮乏、连接顺序的错误选择都是直接导致查询低效的原因。 【关键词】:数据库技术;查询优化技术;SQL语言;低效1外文摘要Query Technology of Database SystemsStudent: MathematicsTutor : Mathematics【Summary】Database technology is the basic theory and implementation
4、 methods through research database structure, storage, design, management, and application, and use these theories to achieve the data in the database for processing, analysis and understanding of the technology. Namely: database technology is a software science research, management, and database ap
5、plications.Query optimization technology is an important technology database management system design and implementation used is also an important factor in database system performance, all current commercial databases have successfully adopted this technology. Relational database systems and non-pr
6、ocedural SQL language can achieve great success, mainly due to the development of query optimization techniques. In the query execution process, inefficient SQL queries, overview lack of information, the connection sequence of wrong choices are a direct result of the query of inefficiency. Keywords:
7、database technology; Query optimization technology; SQL language; Inefficient.XIII前言 数据库系统中的查询技术探讨1、前言1.1 数据库的产生和发展以前,当人们需要了解大量复杂的资源信息时,都只有通过相关的书籍或者光盘,磁盘等等进行查找,这通常需要耗费大量的人力和时间,效率尤为低下。而随着网络技术与数据库技术日益结合的成熟性,使得这一问题得到了很好的解决,人们仅需在家里的电脑上动动手指,就能快捷的得到各种所需要的信息,这大大满足了广大人民的需求。数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理
8、和存取大量的数据资源.数据库技术主要研究如何存储,使用和管理数据. 数年来,数据库技术和计算机网络技术的发展相互渗透,相互促进,已成为当今计算机领域发展迅速,应用广泛的两大领域.数据库技术不仅应用于事务处理,并且进一步应用到情报检索,人工智能,专家系统,计算机辅助设计等领域。1.2数据库技术概述数据库技术是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。即:数据库技术是研究、管理和应用数据库的一门软件科学。数据库技术研究和管理的对象是数据,所以数据库技术所涉及的具体内容主要包括:通过对数据的统一组织和管理,按照
9、指定的结构建立相应的数据库和数据仓库;利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统;并利用应用管理系统最终实现对数据的处理、分析和理解。第 1 页 共 16页2、选题背景2.1课题类型及来源课题类型:设计类课题来源:其 他2.2研究的目的和意义 现如今很多地方都离不开数据库,而查询操作在各种数据库操作中(如增、删、改、查)所占据的比重最大,通过查询数据库就可以有效的得到想要的数据。但是,现实中许多数据库开发人员。许多程序员认为查询优化是数据库管理系统(DBMS)的任务,与程序员所编写的SQ
10、L语句关系不大。在利用一些前端数据库开发工具开发数据库应用程序时只注重用户界面的华丽,并不注重查询效率,导致所开发出来的应用系统中查询时间长,响应速度慢,甚至查询结果不够准确等,系统工作效率低下,资源浪费严重,这是错误的,一个好的查询执行计划往往可以使程序性能提高数十倍。究其原因,一是硬件设备(如CPU、磁盘)的存取速度跟不上,内存容量不够大;另一方面是数据查询方法不适当,抑或是没有对数据查询技术进行优化。举例来说,如果数据的量积累到一定程度,比如一个银行的账户数据库表信息积累到上百万甚至上千条记录,全表扫描一次往往需要几十分钟,甚至有几个小时。如果采用比全表扫描更好的查询策略和技术,往往可以
11、使查询时间降为几分钟或是更短,由此可以看到查询优化技术的重要性和必要性。所以,对数据库查询技术的优化研究就变得尤为重要。这对工作效率有极大的影响,这也是本人选择此题目的理由。第 21 页 共16页选题背景2.3国内外发展现状和发展趋势与研究的主攻方向从20 世纪60 年代末期开始到如今,数据库技术已经发展了40 多年,已经经历了三代演变,目前已经发展成为一个庞大的数据库家族,而且关系数据库取得了巨大的成功,关系数据库以其查询语言的非过程化,数据模型和用户视图的简明性,以及较高的数据独立性等特点,已经被广泛使用,在数据库领域中占有重要的地位。我国的数据库(主要是中文数据库)建设起步于70年代中后
12、期,经过几十年的发展,我国的数据库技术进步很大,在商用数据库管理系统(DBMS)中也出现了像OpenBase、SECBase等自主版权的数据库管理系统。数据库查询技术也随着数据库的发展而进步着。但是,由于使用高级查询语言和存在费时低效的多关系连接操作使得数据库的响应速度较慢,让众多用户无法忍受。查询响应速度已经成为数据库的重要指标和主要发展瓶颈,特别是对于大型数据库而言,这一点尤为突出。为了实现快速查询,除了在数据库的物理设计、关系规范化等方面进行改进外,一个关键措施就是提供最优的查询路径决策能力,提高查询响应速度。本文就是通过此方面的探讨和研究,力争使SECBase数据库的查询优化技术得到进
13、一步提高。3、 查询优化概述3.1查询优化的基本概念所谓查询优化,就是在查询执行引擎生成一个执行策略的过中,尽量使查询的总开销和总时间达到最小。实际系统对查询优化的具体实现不同,但一般来说,可以归纳为四个步骤:(1)将查询转换成某种内部表示,通常是语法树。 (2)根据一定的等价变换规则把语法树换成优化(标准)形式。 (3) 选择底层的操作算法。对于语法树中的每一个操作需要根据存取路径、数据的存储分布、存储数据的聚簇等信息来选择具体的执行算法。 (4)生成查询计划。查询计划是由一系列内部操作组成的,这些内部操作按照一定的次序构成查询的一个执行方案,通常这样的执行方案有很多个,需要对每个执行计划计
14、算代价,从中选择代价最小的一个。其过程如下图1所示: 图1 查询优化处理过程 3.2关系查询语言数据库的查询主要是通过查询语言来完成的,关系查询语言通常分为过程性的和描述性的。关系数据模型可以为数据库提供一个数据无关的接口,关系数据库语言是关系演算,进行数据查询时,只需对要查询的数据进行简单的描述,而无须说明如何获取这查询优化概述些数据。关系代数是关系模型中最为著名的过程性查询语言,是关系操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的,关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算。传统的集合运算是二目运算,包括并、差、交、广义笛卡尔积四种运算。专门的关系运算包括
15、选择、投影、连接、除等。关系数据库中用得最广泛的描述性语言就是SQL查询语句,其本质就相当于数据操纵语言DML。使用SQL语言进行数据库查询,用户可以方便快捷的获取数据,但是使用这种语言,同样也需要对搜索、存取操作以及数据传输过程进行必要的说明,因此相应的查询优化技术的研究也在不断进行中。SQL语言的一般格式如下:SELECT columnlist FROM tablelist WHERE conditionlist其中,columnlist是要返回的查询结果的属性列表,tablelist是查询所涉及到的所有关系,conditionlist是条件表达式,条件表达式中的谓词可以将查询作为其操纵数
16、。 3.3查询优化目标查询优化的目标是:用最少的代价,最短的时间取得最理想的结果。基于用最少的代价的目标是,使查询执行所使用的系统资源总和尽量地少,从而降低系统开销,整个系统的开销可以从单个系统资源的开销表达式中推出;基于最短的查询时间优化的目标是尽量走最短最有效的路径,从而减少查询的响应时间。3.4查询处理流程 查询处理过程如下图2所示:图2 查询处理步骤 基本步骤包括: 1. 语法分析与翻译; 2. 优化; 3. 执行。 查询处理开始之前系统必须将查询语句翻译成系统内部的表示形式。翻译过程类似与编译器语法分析器的工作。在翻译过程中要对用户的查询进行语法检查,并构造该查询语句的语法分析树表示
17、,进而翻译成关系代数表达式。优化器利用数据字典中的统计信息对关系代数表达式进行代价评估,从而产生出最优的执行计划。执行引数据库查询优化技术擎再为每一个关系操作或操作组实现一系列物理操作。4 数据库查询优化技术4.1分布式查询优化41.1分布式查询优化要考虑的问题分布式数据库存在于网络环境中,由于数据的分布性,一次查询所操纵的对象可能分布于不同的网络节点中,由此带来的开销和执行速度就会不一样,优化所要考虑的因素就更为复杂。分布式数据库环境中的查询优化要考虑以下两个关键的问题:(1)数据和信息均要通过通信线路进行传输,存在延迟的问题将减慢整个查询执行过程。(2)网络中多处理器的存在提供了并行处理和
18、传输的机会,应充分利用可以加快查询相应的速度。在分布式数据库系统中,还影响到物理查询计划设计的复杂性和可选方案。在选择物理查询计划时必须考虑的问题包括:(1)如果某个所需的关系R有多个副本,那么应该从哪个副本中获得R的值。(2)当在两个关系R和S上实施某个操作时,若有多个可选方案时,我们应该选择哪个。为了简化查询的执行,有五条应用于等价变换的一般准则:(1)使用选择和投影的幂等来为每个操作数关系产生相应的选择和投影。 (2)把算符树中的选择和投影运算尽可能向下推移。 (3)把选择运算向下推到算符树的树叶处,然后对它们使用限定关系代数;如果结果的限定语是永假式,则用空关系来代替此次选择的结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 中的 查询 技术 探讨 毕业论文

链接地址:https://www.31ppt.com/p-4890913.html