数据库习题答案(8)

2018-12-20 22:59

第11章 数据库编程

1.在嵌入式SQL中是如何区分SQL语句和主语言语句的?

参考答案:在嵌入式SQL中,为了能够区分SQL语句与主语言语句,所以SQL语句都必须加前缀EXEC SQL。

2.在嵌入式SQL中是如何解决数据库工作单元与源程序工作单元之间通讯的? 参考答案:数据库工作单元与源程序工作单元之间的通信主要包括:

(1)向主语言传递SQL语句的执行状态信息,使主语言能够据此信息控制程序流程,主要用SQL通信区(SQL Communication Area ,简称SQLCA)实现。

(2)主语言向SQL语句提供参数,主要用主变量实现。

(3)将SQL语句查询数据库的结果交主语言进一步处理,主要用主变量和游标(Cursor)实现。

3.在嵌入式SQL中,如何协调SQL语言的集合处理方式和主语言的单记录处理方式? 参考答案:游标是用于协调SQL语言的集合处理方式和主语言的单记录处理方式。 SQL语言与主语言具有不同的数据处理方式。SQL语言是面向集合的,一条SQL语句原则上可以产生或处理多条记录。

主语言是面向记录的,一组主变量一次只能存放一条记录。所以仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求,为此嵌入式SQL引入了游标的概念,用游标来协调这两种不同的处理方式。

4.静态SQL与动态SQL有何区别?

参考答案:静态SQL语言,就是在编译时已经确定了引用的表和列。宿主变量不改变表和列信息。可以使用主变量改变查询参数值,但是不能用主变量代替表名或列名。

动态SQL语言是不在编译时确定SQL的表和列,而是让程序在运行时提供,并将SQL语句文本传给DBMS执行。静态SQL语句在编译时已经生成执行计划。而动态SQL语句,只有在执行时才产生执行计划。动态SQL语句首先执行PREPARE语句要求DBMS分析、确认和优化语句,并为其生成执行计划。DBMS还设置SQLCODE以表明语句中发现的错误。当程序执行完“PREPARE”语句后,就可以用EXECUTE语句执行计划,并设置SQLCODE,以表明完成状态。

静态SQL语句的另一个优点是它的性能。简单地说,对于要求运行时间较短地SQL程序,静态SQL语句比动态处理要快,因为准备一个语句的可执行形式的工作负载在预编译的时候就完成的。

5.编程语言与数据库的接口都有哪些?

参考答案:为了方便应用程序访问DBMS,同时提高应用程序的可维护性,提供了多种数据库编程接口,最通用的是ODBC和JDBC。可以根据自己不同的平台和需要,做出合适的选择。在Windows平台的数据库接口中,常见的数据库访问接口有ODBC,OLE DB,ADO/ADO.NET,JDBC等。

6.ODBC的体系结构组成包括哪些内容?

参考答案:一个完整的ODBC从体系结构分由下列几个部件组成:

(1) ODBC应用程序(Application)。 (2) ODBC API函数。

(3) ODBC管理器(Administrator)。

(4) ODBC驱动程序管理器(Driver Manager)。 (5) ODBC 驱动程序。 (6) 数据源。

7.简要说明一下什么是ADO.NET??

参考答案:ADO.NET(ActiveX Data Object for .NET,针对.NET的ActiveX数据对象)是一组向.NET程序员公开数据访问服务的类。可以使用以下ADO.NET 的两个组件来访问和处理数据。

(1) .NET Framework 数据提供程序。 (2) DataSet。

8.JDBC驱动程序类型有哪几种?

参考答案:目前比较常见的JDBC驱动程序类型有以下四种: (1) JDBC-ODBC桥驱动。 (2) 本地API驱动。 (3) 网络协议驱动。 (4) 本地协议驱动。

9.上机验证11.2.5小节例子。

参考代码见教材323~324页(11.2.5小节)的代码。

第12章 数据库开发实例

1.简述数据库应用系统的开发步骤?

参考答案:实践中,数据库应用系统的开发过程一般分为以下6个阶段:

(1)计划。在计划阶段,主要完成以下任务:了解用户的要求及现实环境,从技术、经济和法律及社会因素等三个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计。制订完成开发任务的实施计划。

(2)分析。软件需求分析就是回答做什么的问题。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。

(3)设计。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,最后形成软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。

(4)编码。软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。

(5)测试。软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。

(6) 运行及维护。 软件编写好之后,要从开发环境到实际运行环境的转移,一般都是以安装包形式提供,在用户使用现场进行软件交付。维护是旨在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件维护报告。

在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。

2.思考为本章系统的关系模式设计与第10章的图书馆管理模型的关系模式相比各有什么优缺点?

参考答案:本章设计系统更贴近实际业务,满足流通系统在大规模数据量下系统快速响应的需要:

(1)增加了续借、预约、操作员等关系模式。

(2)读者信息与读者证信息合并,可以使操作更方便。

(3)把文献信息及复本信息分开,体现了图书馆实际流通业务中以单册为最小单位,避免了同种书的不同复本无法标识问题,缺点是加大了信息的输入量。

(4)引入了操作员,操作时间等属性,使得操作有据可查。 (5)借阅政策实体的引入,使借阅政策控制更灵活。 3.ADO.NET数据对象模型中的常见对象的用途及使用方法?

参考答案:ADO的对象模型中有5个主要的数据库访问和操作对象,分别是Connection(连接)、Command(控制)、DataReader、DataAdapter(数据修改)和DataSet对象。其中,Connection对象主要负责连接数据库,Command对象主要负责生成并执行SQL语句,DataReader对象主要负责读取数据库中的数据,DataAdapter对象主要负责在Command对象执行完SQL语句后生成并填充DataSet和DataTable,而DataSet对象主要负责存取和更新数据。具体使用方法参考本章相关内容。

4.完成图书馆检索系统的设计及实现。 (略)


数据库习题答案(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:10--Linux网络编程-网络基础-socket编程-高并发服务器

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: