毕业设计论文基于嵌入式SQL技术数据检索功能的实现.doc
《毕业设计论文基于嵌入式SQL技术数据检索功能的实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于嵌入式SQL技术数据检索功能的实现.doc(31页珍藏版)》请在三一办公上搜索。
1、皖西学院本科毕业论文(设计)皖 西 学 院本科毕业论文(设计)论 文 题 目基于嵌入式SQL技术数据检索功能的实现 姓名(学号) 系 别 信息工程学院 专 业 计算机科学与技术0701 导 师 姓 名 二 一一年 六 月基于嵌入式SQL技术数据检索功能的实现作 者 指导教师 摘要:SQL是面向集合的描述性语言,具有功能强、效率高、使用灵活等特点,而单纯的SQL语言是一种独立的、非过程性语言,很难实现具有过程性控制的完整应用系统。嵌入式SQL语言就是将SQL语句直接嵌入到程序的源代码中,与其他高级程序设计语言相结合,使SQL语句负责控制数据库,高级语言负责控制程序流程,从而实现各种复杂应用的处理
2、。 本文在基于SQL技术的基础上,介绍了嵌入式SQL技术的发展、嵌入式SQL语言以及嵌入式SQL工作原理及流程,以JAVA作为宿主语言,以 “图书馆管理系统”的设计为例,描述了嵌入式SQL技术的具体应用,重点设计并实现了数据的检索功能。 关键词: 嵌入式SQL;宿主语言;JAVA ;JDBC The Implementation of Data Retrieval Based on Embedded SQL TechnologyAbstract: SQL is a descriptive language which facing the set, it has strong function
3、, high efficiency, agile using and so on. While pure SQL language is independent and not the process of language, it hard to achieve application systems which with process sexual control, Embedded SQL language embedded the SQL statement to program source code directly, then combined other high-level
4、 programming language, Making the SQL statement responsible for controlling the database and Senior language is responsible for control processes, So as to realize the processing various complex applications. In this paper, on the basis of SQL technology, Introduced the development of embedded SQL t
5、echnology, embedded SQL language and embedded SQL working principle and process, As the host language in JAVA, With library management system the design as an example, Describes the application of the embedded SQL technology, key design and realized data retrieval functions. Key words: Embedded SQL
6、; Host Language ; JAVA ;JDBC目 录1绪论11.1课题背景11.2国内外的发展及现状11.3 课题研究的主要内容22嵌入式SQL技术22.1 SQL和嵌入式SQL简介22.2 SQL语句32.2.1基本SQL语句32.2.2复杂SQL语句42.3嵌入式SQL语句62.4嵌入式SQL工作原理及流程62.5嵌入式SQL应用72.5.1宿主语言JAVA简介72.5.2宿主语言JAVA DB引擎驱动72.5.3宿主语言JAVA应用程序接口JDBC92.5.4嵌入式SQL应用示例143数据检索功能的实现173.1图书管理系统183.2数据检索功能的设计183.2.1 系统结构设
7、计183.2.2 数据库设计193.3数据检索功能的实现21总 结26致 谢27参考文献:281绪论1.1 课题背景 数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。随着嵌入式系统软件的发展,编程语言从10多年以前的汇编为主流发展到现在C、C+、Java为主流。另外,面向对象设计技术、组件技术等在嵌入式系统软件设计中的应用也日益引起人们的重视。嵌入式SQL(英文: Embedded SQL)是一种将
8、SQL语句直接写入C语言,JAVAL,FORTRAN, Ada等编程语言的源代码中的方法。借此方法,可使得应用程序拥有了访问数据以及处理数据的能力。在这一方法中,将SQL文嵌入的目标源码的语言称为宿主语言。1.2 国内外的发展及现状随着嵌入式SQL技术的普遍使用,支持嵌入式SQL的数据库产品也大量出现:Oracle DatabaseAda Pro*Ada在Oracle 7.3的版本中被加入产品族,并且在Oracle 8中被替换为SQL*Module。但在此之后就一直没有更新2。SQL*Module支持Ada 83.C/C+ Pro*C 在Oracle 8 时被替换成了Pro*C/C+。之后Pr
9、o*C/C+ 到Oracle Database 11g仍都在被支持。COBOL Pro*COBOL到Oracle Database 11g仍都在被支持。Fortran Pro*FORTRAN 在Oracle 8之后的Oracle版本中就不再被更新,但Bug修正仍在维护中3。Pascal Pro*Pascal在Oracle 8之后的Oracle版本中就不再被更新3。PI/L Pro*PL/I 自Oracle 8之后就不再被更新,但文档中仍然有记述3。IBM DB2IBM DB2的版本9中提供了对于C/C+,COBOL,Java等宿主语言的嵌入式SQL的支持。PostgreSQLC/C+ Post
10、greSQL 自版本6.3起就提供了对于C/C+的嵌入式SQL的支持,以ECPG组件的形式存在。1.3课题研究的主要内容首先,本文简要的叙述了嵌入式SQL的定义以及发展现状,并详细介绍了嵌入式SQL的数据检索语句:基本嵌入式SQL数据检索功能语句和复杂嵌入式SQL数据检索语句;然后,本文以JAVA为宿主语言,重点分析嵌入式SQL在宿主语言JAVA中的工作原理和处理流程 ,以及对JDBC驱动和JDBC API做了详细介绍;最后,针对嵌入式SQL和宿主语言JAVA,以实例“图书馆管理系统”演示嵌入式SQL的具体应用。2嵌入式SQL技术2.1 SQL和嵌入式SQL简介SQL(Structured Q
11、uery Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只
12、需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。SQL语言包含4个部分: 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。 数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。 数据查询语言(DQL),例如:SELECT语句。 数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)。嵌入式SQL(英文: Embedded SQL)是一种
13、将SQL语句直接写入C语言,COBOL,FORTRAN, JAVA等编程语言的源代码中的方法。借此方法,可使得应用程序拥有了访问数据以及处理数据的能力。在这一方法中,将SQL文嵌入的目标源码的语言称为宿主语言。在SQL标准的SQL86(1986年发布)中定义了对于COBOL, FORTRAN, PI/L等语言的嵌入式SQL的规范。在SQL89(1989年发布)规范中,定义了对于C语言的嵌入式SQL的规范。一些大型的数据库厂商发布的数据库产品中,都提供了对于嵌入式SQL的支持。比如Oracle, DB2等。2.2 SQL语句 2.2.1基本SQL语句 简单嵌入式SQL数据检索功能语句表示只是对单
14、表的数据检索,其基本语句为:“select from where group by having order by “例如:查询学号为“S040901106”学生的姓名表2-1,studentInfo表相关数据StuIdStuNameDeptIdSexS040201101任非02MS040901102王情02FS040901103戴丽08FS040901106郑治08MSQL语句: SELECT StuName FROM studentInfo WHERE StuId = S040901106; 2.2.1复杂SQL语句 然而现实数据库项目中,对于数据库的数据检索可能设计有多个表,或要求更复杂
15、的数据检索SQL语句,所以有必要介绍几种复杂的嵌入式SQL数据检索语句。3.2.1联接查询 (一)内联接内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。2、不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括、=、=、!和。3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。例,下面使用等值连接列出auth
16、ors和publishers表中位于同一城市的作者和出版社:SELECT *FROM authors AS a INNER JOIN publishers AS pON a.city=p.city 又如使用自然连接,在选择列表中删除authors 和publishers 表中重复列(city和state):SELECT a.*,p.pub_id,p.pub_name,p.countryFROM authors AS a INNER JOIN publishers AS pON a.city=p.city(二)外连接内连接时,返回查询结果集合中的仅是符合查询条件( WHERE 搜索条件或 HAV
17、ING 条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。如下面使用左外连接将论坛内容和作者信息连接起来:SELECT a.*,b.* FROM luntan LEFT JOIN usertable as bON a.username=b.username以及他们所在的城市:SELECT a.*,b.* FROM city as a FULL OUTER JOIN user as bON a.username=b.username(三)交叉连接交叉连接不带WHERE 子
18、句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等于6*8=48行。SELECT type,pub_nameFROM titles CROSS JOIN publishersORDER BY type2.3嵌入式SQL语句 (1)宿主变量宿主变量就是在嵌入式SQL语句中引用主语言说明的程序变量如:在JAVA语句中对程序变量:username、password的进行数据库插入操作String sql
19、 = insert into reader(username,password) values(+ username+ ,+ password+ );在嵌入式SQL语句中使用宿主变量前,必须采用 “+username + ” 的形式给宿主变量说明。2.4嵌入式SQL工作原理及流程图2.1 数据库产品中嵌入式SQL操作流程图为了解决嵌入式SQL源码的处理流程问题,数据库厂商需要提供一个嵌入式SQL的预编译器,把包含有嵌入式SQL文的宿主语言源码转换成纯宿主语言的代码。这样一来,源码即可使用宿主语言对应的编译器进行编译。通常情况下,经过嵌入式SQL的预编译之后,原有的嵌入式SQL会被转换成一系列函
20、数调用。因此,数据库厂商还需要提供一些列函数库(图2.1),以确保链接器能够把代码中的函数调用与对应的实现链接起来。2.5嵌入式SQL应用 2.5.1宿主语言JAVA简介 Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。JAVA项目运行环境平台(图2.2):应用组件应用组件应用组件 DB组件.CLASS文
21、件库 JVM图2.2JAVA程序运行环境平台图 2.5.2宿主语言JAVA DB引擎驱动 众所周知,在台式机领域,DB是一个十分关键的基础软件。以往嵌入式系统的软件可能更侧重于与硬件的交互与控制,但随着对嵌入式系统功能需求的日益复杂化,嵌入式系统软件中,信息、数据的保存与管理的比重也日益增加。在这样的背景下,嵌入式系统软件开发中,通过引入DB组件,对实现软件整体框架结构的组件化与简单化,有着十分明显而重要的意义。DB引擎驱动的总体框架(如图2.3):整个DB组件设计为3层结构,分别为JDBC接口层、SQL解释层和动作执行层。这3层之间呈单向依赖关系。也就是说,SQL解释层依赖于动作执行层,但动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 嵌入式 SQL 技术 数据 检索 功能 实现
链接地址:https://www.31ppt.com/p-4873367.html