版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章Web数据库技术数据库原理及应用本章引入在Internet的热潮席卷之下,原本在单机或局域网中使用的数据库逐步移植至Internet中,Web技术与数据库管理系统(DBMS)相互融合成为必然趋势,数据库厂家和Web公司纷纷推出各自的产品和中间件支持Web技术和DBMS的融合,将两者取长补短,发挥各自的优势,使用户可以在Web浏览器上方便地检索数据库的内容。Web数据库得以迅猛发展起来。本章教学内容Web数据库的产生与发展1Web数据库系统的体系结构2Web数据库访问技术3数据库访问接口4动态页面开发技术5教学内容万维网WWW1Web数据库2Web数据库的发展阶段3一、万维网WWW万维网WideWeb,简称为Web)是欧洲粒子物理实验室的TimBerners-Lee于1989年3月提出的。1、什么是万维网WWW万维网WWW并非某种特殊的计算机网络,而是一个大规模的、联机式的信息储藏所,是一个基于超文本方式的信息检索服务工具。万维网WWW将全世界Internet上不同地点的许多信息资源有机地组织在一起,连结成一个信息网,通过链接的方法(超链接)能够非常方便地从Internet上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。3、万维网的组成万维网由分布在全球各地的Web节点组成;Web节点由Web服务器维护和管理的多个Web页面组成;页面是可以包含文本、表格、图像、动画、声音、3D世界,以及其它任何信息的超媒体文档,每个Web节点都有进入该节点的起始页面,称为该节点的“主页”;页面与页面之间通过超链接相连,可以从一个页面通过超链接进入同一节点或其它节点上的另一页面。4、万维网的标准万维网的成功在于其制定了一套简单易用的统一标准,包括:信息资源的统一资源定位符(UniformResourceLocator,简写为URL)超文本标记语言(HyperTextMarkupLanguage,简写为HTML)超文本传输协议(HyperTextTransferProtocol,简写为HTTP)万维网使用统一资源定位符URL来标识网上的各种资源,并使每一个资源在整个Internet的范围内具有唯一的标识符URL。万维网使用超文本标记语言HTML作为制作万维网页面的标准语言,消除了不同计算机之间信息交流的障碍,使任何一台计算机都能显示出任何一个万维网服务器上的页面。万维网以客户机/服务器方式工作。客户机与服务器之间通过超文本传输协议HTTP通信。HTTP协议定义了浏览器怎样向Web服务器请求万维网文档,以及服务器怎样把文档传送给浏览器,它是万维网上能够可靠地交换文件的重要基础。二、Web数据库在传统的Web服务中,文本和其他多媒体信息都是以文件的形式来进行存储和管理的,随着Web应用领域的不断扩展、信息量的不断增加,静态的Web页面越来越不能满足人们对Web信息服务的动态性、实时性和交互性的要求。为了进行网络上数据的高效存取,实现交互式动态Web页面,就必须以大量数据资源为基础,因此必然要在Web中引入数据库。1、Web数据库的概念Web数据库不仅集合了Web技术和数据库技术的优点,而且使二者都发生了质的变化:Web网页从静态网页发展成了由数据库驱动的动态网页,而数据库实现了开发环境和应用环境的分离,用户端可以用统一的浏览器实现跨平台和多媒体服务。2、通过WWW访问数据库的优点(1)借用现成的浏览器软件,无需开发数据库前端。(2)标准统一,开发过程简单。(3)交叉平台支持。三、Web数据库的发展阶段Web数据库发展到现在,经历了三个发展阶段。2、第二阶段第二阶段:Web数据库提供静态访问和动态内容应用,实现基于数据库的动态文档的管理和访问。在第二阶段的Web数据库中,使用通用Web网关接口编程,使数据库能与Web服务器直接连接,实时动态地将数据库的信息反映在页面上。用户访问的是静态的HTML文档,但文档内容是随着数据库而改变的动态内容。缺点:不能保持数据库连接状态,存在性能瓶颈,缺少扩展性和保密性3、第三阶段第三阶段:Web数据库除了提供第二代Web数据库的功能外,还能提供基于Web的联机事务处理能力,在Web的客户端与服务器端实现了动态和个性化的交流和互动。第三阶段的Web数据库使所有对数据库的操作(增加、删除、修改)、信息的查询和管理都通过统一标准的Internet浏览器界面来进行,更加适应Internet技术的发展和网络互连的需要。8.2Web数据库系统的体系结构第8章Web数据库技术引入数据库系统的体系结构是指在计算机系统环境下数据库管理系统及其数据库应用系统的体系结构。数据库系统的体系结构与数据库系统的应用环境是密切相关的,随着计算机技术的发展以及数据库系统应用环境的演变,数据库系统的体系结构也在不断地演变。随着计算模式经历了集中式模式、C/S模式和B/S模式三个阶段的发展,数据库系统也随之出现了相应的体系结构。一、数据库的客户机/服务器体系结构1、客户机/服务器体系结构客户机/服务器(C/S)结构是以计算机网络环境为基础,将计算任务有机地分配给多台计算机的计算模式。客户机/服务器结构由三部分组成:客户机、服务器、客户机和服务器之间的连接支持。1、客户机/服务器体系结构1)客户机客户机一般是一台面向最终用户,运行前端应用程序且提供外围开发工具,并通过网络获得服务器服务的微型计算机。2)服务器服务器一般是具有高档硬件资源和高性能软件资源的多用户计算机系统。3)连接支持是一种实现客户机和服务器之间连接和通信的标准网络接口和标准软件接口。2、客户机/服务器结构数据库系统客户机1应用程序1客户机2应用程序2客户机n应用程序n…网络中间软件DBMSDB网络数据库服务器在服务器一端完成DBMS的核心功能,包括接收来自客户端的数据库请求;处理数据库请求;进行安全性确认和完整性检查等。在客户端放置应用开发工具,完成管理用户界面;接受用户数据;处理应用任务;生成数据库请求并向服务器发出数据库请求;从服务器接受结果并格式化结果等。网络中间软件则遵循一定标准,负责透明地连接客户机与服务器,提供了访问数据库的统一界面。二、基于浏览器/服务器模式的Web数据库浏览器/服务器(B/S)计算模式是随着Internet技术的迅猛发展而发展起来的一种新型的网络计算模式。B/S结构是Internet技术和数据库技术相结合的过程中形成的数据库系统体系结构。B/S结构代表了当前数据库应用软件技术发展的趋势,是目前人们开发Web数据库系统普遍采用的数据库系统结构。在B/S结构中,可将数据库服务器端进一步分解成一个Web服务器和一个或多个数据库服务器。3、多层B/S结构的数据库系统浏览器1浏览器2浏览器n数据库服务器DB…网络Web服务器DB应用服务器(Web)应用服务器(Web)…(1)规范和统一了客户端程序的标准——浏览器模式,减轻了客户端的压力,解决了C/S结构中客户端程序的异构性和跨平台性。(2)将用户交互、应用业务处理和数据管理三者相互彻底分离,从而方便进行严格的安全管理、提高程序的可维护性,使其各自完成其擅长和应该完成的任务。(3)在表示层对数据的输入进行分析检查,可尽早消除错误输入,减少网上传输的数据量,加快响应速度。4、B/S结构数据库系统的优点(4)软件维护开销能够大大降低。(5)充分发挥了DBMS高效的数据存储和数据管理能力,把传统的数据库访问、存取和维护等技术应用于Internet的Web之上,实现了更大程度和更大范围的数据库资源共享。4、B/S结构数据库系统的优点8.3Web数据库访问技术第8章Web数据库技术教学内容对Web数据库访问技术的要求1Web数据库访问技术的种类2Web数据库设计的一般过程3引入Web数据库系统的主要目的是要实现Web与数据库的连接以产生基于数据库的动态页面,这要通过Web访问数据库来实现,相关的技术我们称之为Web数据库访问技术(也称为动态页面技术)。一、对Web数据库访问技术的要求(1)高效性(2)安全性(3)客户端的简洁性(4)开放性(异构性)(5)可扩展性二、Web数据库访问技术的种类1、基于中间件的Web数据库系统2、基于客户端的Web数据库系统3、上述两种方法的组合1、基于中间件的Web数据库系统是在Web服务器端提供中间件来连接Web服务器和数据库服务器,常用的中间件技术有通用网关接口(CGI)、应用程序编程接口(WebAPI)、ODBC、JDBC、ADO、ADO.NET等。Web浏览器Web服务器中间件(CGI、API、ODBC、JDBC、ADO、ADO.NET等)数据库这些技术的特点是采用Web服务器作为通信中介,由Web服务器启动应用程序,并由应用程序完成数据库的访问,结果信息再经Web服务器返回客户端浏览器。2、基于客户端的Web数据库系统是把应用程序下载到客户端运行,在客户端直接访问数据库服务器,例如:JavaApplet等。Web浏览器Web服务器客户端应用(JavaApplet)数据库请求下载访问数据库响应3、上述两种方法的组合第三种方式可看成是上述两种方法的组合。在服务器端提供中间件,同时将应用程序的一部分下载到客户端,并在客户端通过WebServer及中间件访问数据库。这些方案各有其优缺点,用户可以根据具体需要,选择相应的技术。目前采用最多的解决方案是第一种。三、Web数据库设计的一般过程1、Web数据库的环境Web数据库的环境硬件元素软件元素包括Web服务器、客户机、数据库服务器、网络①客户端必须有能够解释执行HTML代码的浏览器;②Web服务器中必须具有能执行可以自动生成HTML代码的程序的功能,如ASP、CGI等;③后台具有能自动完成数据操作指令的数据库系统,如Access、SQLServer等2、设计过程Web数据库设计的一般过程:(1)建立网站服务器;(2)选择作为Web数据库的数据库管理系统,设计和创建数据库;(3)设计数据库访问接口;(4)设计Web数据库应用程序;(5)检测、调试。8.4数据库访问接口第8章Web数据库技术教学内容CGI2
WebAPI3
ODBC4
JDBC5
ADO6
ADO.NET7数据库访问接口概述1一、数据库访问接口概述随着网络计算模式的发展,中间件日益成为软件领域中新的热点。1、中间件(1)定义中间件是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架(2)功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。中间件在整个分布式系统中起数据总线的作用,各种异构系统通过中间件有机地结合成一个整体。1、中间件(3)工作流程在客户机里的应用程序需要网络上某个服务器中的数据或服务时,应用程序需访问中间件,中间件将查找数据源或服务,并在发送应用程序请求后重新打包响应,将其传回应用程序。2、数据库访问接口数据库访问接口,即数据库中间件,是所有中间件中应用最广、发展前景最好的一种中间件。作为前端客户机和后端数据库之间的一个中间层,数据库访问接口负责接收客户端的数据请求,做一些简单处理后,把请求再传递给相应的后端数据库服务器,进行最后的数据处理,然后再将结果由数据库中间件返回给客户端。常用数据库中间件编程技术有CGI、WebAPI、ODBC、JDBC、ADO、ADO.NET。二、CGI通用网关接口CGI(CommonGateInterface)是最早普遍使用的Web数据库访问技术,几乎所有的Web服务器都支持它。1、CGI概述CGI定义了服务器和外部应用程序之间的标准通信接口。它打破了服务器软件的局限性,允许用户根据需要采用各种语言去实现无法用HTTP、HTML实现的功能,给WWW提供了更为广阔的应用空间。2、CGI工作过程Web浏览器数据库CGI接口数据库服务器(DBMS)Web服务器CGI程序遵循CGI标准编写的服务器端的可执行程序称为CGI程序CGI的主要功能就是在Web服务器程序和CGI程序之间传递信息。(1)Web浏览器向Web服务器发出请求,该请求含请求服务的类型、服务程序路径、CGI程序名称及用户数据等。CGI的工作方式图(2)Web服务器通过CGI定义的通信接口,把用户发来的请求通过标准输入,包括环境变量、命令参数等,发送给CGI程序。(3)CGI程序解析和处理用户请求,打开同DBMS的连接,与DBMS交互,按照用户的需求,对数据库进行查询或更新。(4)CGI程序可根据从数据库中检索所得到的数据生成动态的HTML文档,通过标准输出将其发送给Web服务器。(5)Web服务器将HTML文档返回给Web浏览器,然后关闭与服务器的连接。3、利用CGI应用程序连接数据库的优点(1)CGI程序可以用任何程序设计语言编写,如C、C++、Delphi、VisualBasic或Perl等。(2)CGI的跨平台性能极佳,CGI的应用程序可以移植到绝大部分操作系统上。(3)CGI开发的比较早,相对比较成熟。因此,目前几乎所有的Web服务器均支持CGI。4、CGI方法的缺点(1)最大的缺点是需要消耗大量的系统资源。(2)CGI程序开发复杂,需要许多底层开发的知识,编写比较困难。(3)数据传输的方法不稳健、效率低下。(4)不具备事务功能。(5)安全性差,缺少用户访问控制,对数据库难以设置安全访问权限。三、WebAPI为了克服CGI的局限性,一种基于共享CGI程序的改进方案应运而生,这就是应用程序编程接口WebAPI。1、WebAPI概述WebAPI是某个Web服务器开发商为其产品用户开发类似于CGI程序的服务器端扩展程序所提供的专用编程接口。用户利用WebAPI可以完成CGI程序所能实现的功能,并且维持服务器较好的性能。2、WebAPI的优缺点用WebAPI开发程序,性能大大优于CGI程序。WebAPI的出现解决了CGI的低效问题。但WebAPI的缺陷也是很明显的:(1)开发API程序比开发CGI程序复杂得多;(2)各种不同的API互不兼容,缺乏一个统一的业界标准,用某种API编写的程序只能在特定的Web服务器上运行,使用范围受到极大的限制。四、ODBCODBC是“开放数据库互连”(OpenDatabaseConnectivity)的简称,ODBC是Microsoft公司提出的应用程序通用编程接口标准,用于对数据库的访问。ODBC为数据库用户和开发人员屏蔽了异构环境的复杂性,提供了数据库访问的统一接口,为应用程序实现与平台的无关性和可移植性提供了基础,因而ODBC获得了广泛的支持和应用。1、ODBC概述ODBC定义了一个基于SQL的、公共的、与数据库无关的API(应用程序设计接口),使每个应用程序利用相同的源代码就可访问不同的数据库系统,存取多个数据库中的数据。从而使得应用程序与数据库管理系统(DBMS)之间在逻辑上可以分离,使应用程序具有数据库无关性。也就是说,用ODBC生成的程序是与数据库或数据库引擎无关的。2、ODBC的组成与结构ODBC应用体系结构主要由客户端的数据库应用程序、ODBC应用程序接口(ODBCAPI)、ODBC驱动程序管理器(ODBCDriverManager)、驱动程序(Driver)、数据源(DataSource)、不同RDBMS及其DB构成的数据库平台等组成。ODBC应用程序接口客户端数据库应用程序ODBC驱动程序管理器驱动程序1驱动程序2驱动程序n数据源1数据源2数据源nOracleDBMSSybaseDBMSSQLServerDBMSOracleDBMSSybaseDBMSSQLServerDBMS………由应用数据库设计人员提供由操作系统提供由各数据库厂商提供客户端数据库应用程序提供系统与用户的界面,是用宿主语言、ODBC函数和SQL语句编写的访问数据库的应用程序。ODBC应用程序接口是一种使用ODBC技术实现应用程序与数据库互连的标准接口。ODBC驱动程序管理器用于管理系统中存在的各种驱动程序。驱动程序是一个用于支持ODBC函数调用的模块,通常是一个动态链接库DLL。不同RDBMS的驱动程序是不同的。每种数据库都要向ODBC驱动程序管理器注册它自己的驱动程序。数据源是驱动程序与数据库系统连接的桥梁。它不是数据库系统,而是用于表达ODBC驱动程序与DBMS特殊连接的命名。3、ODBC的接口函数ODBC实质上可以看成是一个由数据库应用程序访问的调用函数库,应用程序通过这些函数可操纵数据库中的数据。ODBC为应用程序提供的这些调用函数可以分成六组①分配和释放内存函数②连接函数③执行SQL语句函数④接收结果函数⑤事务控制函数⑥错误处理函数和其他功能函数4、ODBC的基本工作流程(1)初始化建立ODBC环境(环境句柄);建立应用程序与数据源的连接建立语句句柄,为ODBC调用执行SQL语句作好准备。(2)SQL处理执行SQL语句,对数据库进行插入、删除、修改和查询操作。
(3)终止
通过释放语句句柄函数、释放连接句柄函数、释放环境句柄函数的执行,释放各种资源。五、JDBCJDBC是SUN公司针对Java语言提出的与数据库连接的API标准。与ODBC类似,JDBC是特殊类型的API,这些API支持对数据库的连接和基本的SQL功能,包括建立数据库连接、执行SQL语句、处理返回结果等。与ODBC不同的是,JDBC为单一的Java语言的数据库接口。而ODBC不适合直接在Java中使用,因为它使用C语言接口。1、JDBC概述JDBC由一群类和接口组成,通过调用这些类和接口所提供的方法,Java程序可以连接不同的数据库,对数据库下达SQL命令并取得行结果。JDBC主要有两种接口:面向程序开发人员的JDBCAPI和面向底层的JDBCDriverAPI。JDBCAPI是面向程序开发人员的、“对用户友好的”高级接口,它定义了Java中的类,用来表示数据库连接、SQL指令、结果集合、数据库图元数据等。通过驱动程序管理器,JDBCAPI可以利用不同的驱动程序连接不同的数据库系统。JDBCDriverAPI是面向驱动程序开发商的基础接口,在它之上可以建立高级接口和工具。2、JDBC的体系结构JDBC的体系结构主要由客户端的Java/JSP应用程序、JDBC应用程序接口(JDBCAPI)、JDBC驱动程序管理器、JDBC驱动程序、不同的数据库平台等组成。Java/JSP应用程序JDBCAPIJDBC驱动程序管理器本地JavaAPIJDBC-ODBC桥ODBC驱动DB本地协议纯Java驱动程序网络协议纯Java驱动程序DBDBDB与ODBC一样,JDBC的体系结构同样有一个JDBC驱动程序管理器作为Java应用程序与数据库的中介,它把对数据库的访问请求转换和传送给下层的JDBC驱动程序,或者转换为对数据库的固有调用。更多的实现方式是通过JDBC-ODBC桥接驱动程序,转化为一个ODBC调用,进行对数据库的操作。这是目前知晓的四种JDBC驱动程序。3、JDBC驱动程序的类型JDBC驱动程序可分为以下四个种类。(1)JDBC-ODBC桥加ODBC驱动程序(2)本地API(3)网络协议纯Java驱动程序(4)本地协议纯Java驱动程序(1)JDBC-ODBC桥加ODBC驱动程序JavaSoft公司的桥产品利用ODBC驱动程序提供JDBC访问。客户端JDBC-ODBC桥ODBC驱动程序客户端链接库服务器数据库这类驱动程序的特色是必须在使用者端的计算机上事先安装好ODBC驱动程序,然后通过JDBC-ODBC的调用方法,把JDBC操作翻译成对应的ODBC调用,进而通过ODBC类存取数据库。(2)本地API客户端本地JavaAPI客户端链接库服务器数据库这种类型的驱动程序也必须先在客户机上安装好特定的驱动程序,然后通过JDBC本地API桥接器的转换,把JAVAAPI调用转换成特定驱动程序的调用方法,利用客户机上的本地代码库与数据库直接进行通信。(3)网络协议纯Java驱动程序通常,这是最为灵活的JDBC驱动程序,能够发布到Internet上,与数据库产品无关。为了支持Internet访问,必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。客户端网络协议驱动程序服务器数据库中间层服务器数据链接库这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上,所用的具体协议取决于提供者。(4)本地协议纯Java驱动程序客户端数据库网络驱动程序服务器数据库这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。它允许从客户机机器上直接调用DBMS服务器。4、JDBC的工作流程使用JDBC连接数据库的基本步骤是:①注册和加载驱动器;②建立连接;③创建语句对象;④执行查询语句;⑤查询结果处理及关闭结果集对象;⑥关闭语句对象;⑦关闭连接。六、ADOActiveX数据对象(ActiveXDataObject,简写为ADO)是允许用户与数据存储进行交互的组件,是ASP的内置组件之一,通常也称ADO组件。1、ADO概述ADO是Windows的开放服务体系的标准组成部分,是人们广泛接受的用于数据库访问的应用程序接口,是一项容易使用并且可扩展的将数据库访问添加到Web页的技术。ADO并不是一种新技术,而是采用现有的数据库访问技术,并把这些不同的数据库访问技术融合在一起,形成一种适应需要的方法,它提供了一个简单的程序化模型和完善的数据处理功能。2、ADO对象模型ADO是采用层次框架实现的,其层次结构如图所示。Connection对象Error对象Errors集合Command对象Parameter对象Parameters集合Property对象Properties集合Recordset对象Field对象Fields集合Property对象Properties集合Property对象Properties集合Property对象Properties集合
ADO定义了7种独立的对象:Connection对象、Command对象、Recordset对象、Field对象、Parameter对象、Property对象和Error对象。Connection对象是其他对象与集合的基础,Connection对象包含了一个Errors集合和一个Error对象,用来记录连接过程中所发生的错误信息。Command对象包含了一个特有的Parameters集合和一个Parameter对象,用来传递Command对象所需的命令参数。Recordset对象包含了一个Fields集合和一个Field对象,用来记录Recordset对象中各个字段的相关属性。在ADO的7个对象中,Connection对象、Command对象和Recordset对象是使用最多的三个主要对象。
通过这些对象与集合,用户可以很方便地建立数据库连接,执行SQL查询以及存取查询结果等。2、ADO对象模型
ADO各个对象之间的相互关系图ConnectionErrorCommandParameterRecordsetFieldExecute方法ActiveConnection属性ActiveConnection属性Execute方法Source属性Parameters属性Fields集合Errors集合两个重要关系:①Connection对象和Command对象使用Execute方法可以产生一个Recordset对象;两个重要关系:②Recordset对象和Command对象使用ActiveConnection属性可以产生一个Connection对象。3、ADO对象功能(1)Connection对象:连接对象
用于建立Web服务器到数据源的连接。其它两个内部对象:Command对象和Recordset对象对数据库的任何操作都要通过Connection对象才能够完成。(2)Recordset对象:记录集对象是对从基本表或命令执行的结果所得到的整个记录集合的封装,其数据结构可认为与表相同,利用Recordset对象可以非常方便地实现对数据库的各种操作和控制。3、ADO对象功能(3)Command对象:命令对象主要功能是让服务器执行SQL命令或服务器端的存储过程。(4)Field对象:域对象Recordset对象有一个十分有用的对象集合Fields,Fields由多个Field对象组成,Field对象代表一列普通数据类型数据,每个Field对象对应于Recordset对象中的一列。(5)Parameter对象:参数对象代表SQL存储过程或有参数查询中的一个参数。3、ADO对象功能(6)Property对象:属性对象代表数据提供者的具体属性。ADO对象有两种类型的属性:内置属性和动态属性。内置属性是指那些已在ADO中实现并且任何新对象可以立即使用的属性。Property对象是基本提供者所定义的动态属性的容器。(7)Error对象:错误对象代表ADO错误,用来表示方法调用失败所产生的某个错误。4、ADO和数据库的连接应用程序ADOOLEDBProviderforODBCOLEDBProviderfor数据库ODBCdriverfor数据库数据库通过ADO访问数据库有两种途径,一种是通过ODBC驱动程序,另一种是通过数据库专用的OLEDBProvider。后者有更高的访问效率。七、ADO.NETADO.NET是微软的新一代数据访问标准,它是为了广泛的数据控制而设计的,而不仅仅为数据库应用,所以使用起来比以前的ADO更灵活、更有弹性,也提供了更多的功能,提供了更有效的数据存取。它采用面向对象结构,采用业界标准的XML作为数据交换格式,能够应用于多种操作系统环境。1、ADO.NET发展随着公共语言运行库和.NET框架的出现,微软为.NET框架设计了一个新的数据访问对象模型ADO.NET。ADO.NET用微软.NET框架的托管代码创建,这意味着它可以享受到类型安全和内存管理环境的种种好处,使之成为优于ADO的一个更为稳健的数据库访问平台。作为一种数据库访问框架,ADO.NET在ADO的基础上进行了重新设计,使它能处理当今n层的Web应用程序所要求的非连接数据体系结构。总之ADO.NET是在ADO的基础上发展起来的,但又不是简单的升级,它在简化编程、维护和效能方面都做了相当大的改进。ADO.NET是一项全新的技术,需要采用一种新的思维模式来对待。2、ADO.NET模型连接的对象断开连接的对象ConnectionTransactionDataAdapterCommandParameterDataReaderDataSetDataTableDataRowDataColumnConstraintDataRelationDataViewADO.NET提供了功能强大的数据访问接口,其数据的连接有两种方式:断开连接与直接连接。因此ADO.NET对象模型分为“连接的对象”和“断开连接的对象”两部分。“连接的对象”主要有Connection对象、Command对象、DataReader对象等,这些对象直接与数据库通信,以管理连接和事务,以及从数据库检索数据和向数据库提交所做的更改。
“断开连接的对象”主要有数据集DataSet对象以及它所包括的DataTable和DataRelation对象等,它们允许用户脱机处理数据,以便更好地提高系统效率。2、ADO.NET模型ADO.NET对象模型的两个核心成员是.NET数据提供程序和DataSet对象。.NET数据提供程序与DataSet之间的关系DataSetDataTableCollectionXML数据存储或文件.NET数据提供程序ConnectionCommandDataReaderDataAdapterInsertCommandUpdateCommandDeleteCommandSelectCommandDataTableDataRelationCollection数据库.NET数据提供程序是数据库的访问接口,负责建立连接和数据操作。它作为DataSet对象与数据源之间的桥梁,负责将数据源中的数据取出后置入DataSet对象中,或将数据存回数据源。
DataSet是非连接的、位于内存中的数据存储,主要负责对数据的操作。DataSet是专门为独立于任何数据源的数据访问而设计的。因此,它可以用于多种不同的数据源,可以使用XML数据。
3、.NET的数据提供程序.NETFramework数据提供程序在数据源和代码之间创建了一个最小层,以便在不以功能为代价的前提下提高性能。到目前为止,可用的.NET主要数据提供程序(提供者)有4个。这4个数据提供程序中的每一个都有一个特定的目的,并且都提供对特定类型数据源的托管访问。(1)SQLServer.NETFramework这个数据提供者专用于SQLServer数据库。它使用SQL快速的、本地的TCP/IP接口,提供快速、健壮和可靠的访问SQLServer的方法。可以直接访问SQLServer而不用添加OLEDB或ODBC层,因此它是轻量的,并具有良好的性能。(2)OLEDB.NETFrameworkOLEDB数据提供程序可使用任何OLEDB数据提供程序来处理数据,但是这个提供者必须使用COMInterop层。因此,在.NETFramework中使用OLEDB时,将会增加系统的额外开销。通常,人们使用OLEDB.NET数据提供者与Access数据库、MicrosoftExchange进行通信。(3)Oracle.NETFramework该数据提供程序支持使用Oracle客户端软件提供的Oracle调用接口(OC)访问Oracle数据库。如果使用的是Oracle数据源,则使用这个数据提供者将能得到更快的速度和更可靠的性能。Oracle.NETFramework数据提供程序要求必须先在系统上安装Oracle客户端软件(8.1.7版或更高版本),才能连接到Oracle数据源。(4)ODBC.NETFramework如果数据源不是SQLServer、Oracle或Access,也不是通过OLEDB驱动程序能够访问的其他数据源,则惟一的选择就是使用ODBCProviderfor.NET。ODBC.NETFramework数据提供程序使用本机ODBC驱动程序管理器(DM)启用数据访问。微软的.NETODBCProvider是为了向后兼容而采取的措施,它不是一个高性能的数据提供者。4、ADO.NET和ADO的比较因为ADO.NET是从ADO发展而来的,它与ADO有许多相似性。然而,ADO.NET在ADO的基础上做了很大的改进。(1)数据表现形式在ADO中,数据在内存中表示的形式为记录集(RecordSet)。而在ADO.NET中,它以数据集(DataSet)为主要表现形式。记录集好比一个单独的表。数据集可以包含多个截然不同的表,还能够维护表之间的关系。当要访问的数据来自多个关联的表时,ADO.NET比ADO对数据的访问更优越,因为数据集可以包含这样的数据,而记录集则不能。(2)数据访问ADO和ADO.NET之间的另一个重要差别在于它们数据访问方式不同。ADO通过MoveNext方法顺序扫描记录集的行。而在ADO.NET中,数据集(DataSet)除了支持顺序访问之外,还允许对数据表中的行号进行随机访问。相比之下,在ADO.NET中数据访问变得更加容易、更加快速。(3)断开连接方式的数据访问在ADO中,记录集也可以实现断开连接方式的数据访问。但是这种连接方式效率不高,而且不是彻底的断开连接方式。而ADO.NET则使用数据集完全实现了与数据源的断开连接方式。ADO通过调用OLEDB提供者与数据库通信,而ADO.NET则使用数据适配器与数据库进行通信,这个适配器可以采用不同的方式与不同类型的数据源进行通信。(4)在应用程序之间共享数据ADO通过COM调度机制传输记录集,而ADO.NET则使用XML以数据集的形式传输数据。同COM调度相比,使用XML传输数据具有许多优点:更丰富的数据类型、更高的性能、能够穿透防火墙等。8.5动态页面开发技术第8章Web数据库技术教学内容
ASP技术1
PHP技术2
Servlet技术3
JSP技术4一、ASP技术ASP(ActiveServerPages,动态服务器主页)是目前非常流行的开放式Web服务器应用程序开发技术。ASP属于ActiveX技术中的服务器端技术。ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器。1、ASP文件ASP通过扩展名为.asp的ASP文件来实现,一个ASP文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。ASP文件是一个文本文件,它可以包括下列元素的任意组合:①文本(text);②HTML标记(tags);③Script命令。2、ASP的工作流程Web浏览器数据库数据库服务器(DBMS)ADO/ODBCASP程序(*.asp)Web服务器当用户通过浏览器向Web服务器申请一个*.asp主页时,Web服务器响应该请求,调用ASP引擎,解释执行将被请求的*.asp文件中的每一个命令,动态生成一个HTML页面,并送到浏览器。
当遇到任何与ActiveXScriptng兼容的脚本(如VBScript,JavaScript)时,ASP引擎会调用相应的脚本引擎进行处理若脚本中含有访问数据库的请求,就通过ODBC或OLEDB与后台数据库连接,由数据库访问组件执行访库操作,它依据访问数据库的结果集自动生成符合HTML的主页,以响应用户的请求。二、PHP技术PHP是一种用于创建动态Web页面的服务器端HTML嵌入式脚本语言,它与ASP相似。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳务分包沥青路面施工合同
- 药品采购合同书范本
- 爱情的誓言忠诚保证
- 信息服务合同范本示例
- 石料订购合同范本
- 江西省房产交易合同的范本
- 汽车融资租赁合同协议签订失败原因
- 离校安全责任书
- 展会服务合同中的展会指导
- 终止劳务承包合作合同
- 浙江省杭州市各县区乡镇行政村村庄村名居民村民委员会明细
- 唱游子吟小儿垂钓课件小学音乐苏少01课标版三年级上册课件1
- 北京科技大学第二批非教学科研岗位招考聘用(必考题)模拟卷和答案
- 社团面试评分表
- 智慧园区 物流基地集装箱货堆场智能管理平台建设方案
- 血清转氨酶异常病因分析
- PDCA提高护理管道标识规范率
- 世界未解之谜英文版
- 中小跨径公路桥梁设计课件
- 放射培训考试习题及答案
- 译林牛津版9A-Unit8-Detective-Stories-Reading-2公开课优质课件
评论
0/150
提交评论