数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术

上传人:E**** 文档编号:89244708 上传时间:2019-05-22 格式:PPT 页数:103 大小:689KB
返回 下载 相关 举报
数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术_第1页
第1页 / 共103页
数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术_第2页
第2页 / 共103页
数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术_第3页
第3页 / 共103页
数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术_第4页
第4页 / 共103页
数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术》由会员分享,可在线阅读,更多相关《数据库原理与应用 教学课件 ppt 作者 陆慧娟 主编 吴达胜 刘建平 黄长城 副主编 第10章 数据库应用系统开发技术(103页珍藏版)》请在金锄头文库上搜索。

1、第10章 数据库应用系统开发技术,10.1 概述 10.2 C/S体系结构 10.3 B/S结构 10.4 开放式数据库开发技术 10.5 ADO.NET,10.1 概述,从数据流角度分析,任何一个数据库应用系统可分为三个职能组成部分: 输入与输出(称为用户接口) 处理(运算操作) 数据存储,数据库应用系统的三个职能组成部分,10.1.1数据库应用系统结构设计主要依据,数据量 如果数据量庞大,可以分离出数据服务,并运行在一台或多台计算机上。 业务规则 如果业务规则(如行业的、国内的或国际的等)过于复杂或需要增加,那么就可以考虑将业务规则分离出来,放入到一些独立的软件(如进程、组件)或数据库中。

2、 数据流量 在分布式系统,特别系统的是基于Internet的环境,不能有高的数据流量要求,如果业务规则是数据驱动(指业务规则已经由设计时被纳入到数据库中)的,它们应该使业务处理和数据服务保持畅通(如两者尽可能近的地方或者集中在一起)。,数据库应用系统结构设计主要依据(续),代码可重用性 如果用户想在不同的前端使用同样的业务规则,建议建立一些共同可用的部件(分层)。 维护问题 如果系统中处于有许多客户机,为了使系统的维护和支持成本相对低廉,应该尽量使客户机简单化(瘦客户机),如可以浏览器方式,它至多需要的升级维护工作可以从网络自动下载的,因此基本上不需要单独的维护工作。 ,10.1.2数据库应用

3、系统的实现结构,一层(如集中式) 两层C/S结构式(也包括文件服务) 三层(C/S/S和B/S/S) 多层的C/S(N-tiers)等体系构造 对等生产系统尚未正式接纳它,一层(如集中式): 银行/航空售票系统,两层:文件文件服务器应用系统:foxpro,两层C/S结构式,文件服务器与客户/服务器的数据库操作,文件服务器结构: 在服务器端存储数据,在客户端完成数据操作和处理。 文件服务器数据库操作举例 客户/服务器结构: 在服务器存储数据,在服务器和客户端完成数据操作和处理。 客户/服务器的数据库操作,文件服务器结构中的数据库操作,查询表格,30000条记录的表格,客户/服务器结构中的数据库操

4、作,SQL请求,返回一条记录,10.2.1 传统的两层C/S结构,C/S软件架构起源于实现共享而提出来的技术 起始于20世纪80年代 其特点是基于资源不对等(客户机如PC能力相对较弱,业务服务计算机相对造价高) 发展并成熟于20世纪90年代,1)C/S之“胖客户机/瘦服务器”的架构,和文件服务器架构的区别: 文件服务器:针对整个文件进行封锁和存取处理。 在一个C/S架构的软件系统中,客户应用程序是针对一个小的、特定的数据集,如一个表的需要的行进行处理 C/S服务器采用的是细粒度控制的数据服务机制,如可对某条记录进行封锁,而不是对整个文件进行封锁,胖客户机/瘦服务器架构示意图,10.2.2 二层

5、C/S结构的问题,开发成本较高客户端软硬件配置要求较高 客户端程序设计复杂客户机庞大管理成本高 服务器负载问题大量并发访问时,客户机和服务器之间的交互非常频繁 信息表达单一设计时确定了功能和模式 数据安全问题数据库本身直接暴露在客户访问层 扩展性的局限-基于单一服务器的局域网环境?Internet?,10.2.3 “瘦客户机/胖服务器”模式,针对传统的“胖客户机/瘦服务器”模式的某些缺点,二层的C/S结构另外一种解决方案:“瘦客户机/胖服务器”模式。,C/S之“瘦客户机/胖服务器”的架构,10.2.4 三层及多层的C/S结构,背景: 针对二层的局限,随着Internet/Intranet技术的

6、成熟与数据库系统进入企业级的应用。,三层C/S架构(表示层、功能层和数据层),优点:,允许合理地划分三层结构的功能 允许更灵活有效地选用相应的平台和硬件系统 开发手段选择灵活、能并行地实现开发 允许充分利用功能层有效地隔离表示层和数据层,为系统的安全提供了一种客观基础。,10.2.5 N层体系结构(N-tier),将中间的领域层(业务处理功能)继续细分,出现N层(4层及以上)的体系结构 通过应用分割技术,将用户的一些应用逻辑放到中间层 增强应用程序的处理性能、安全性和并发性 N-tier的本质仍然仍是三层体系结构 Web服务技术是层间通讯的主流技术,10.3 B/S结构,以Web技术为特征的I

7、nternet应用的日益扩张,数据库应用逐渐延伸到Internet的环境 导致了B/S应用结构的产生与发展,最典型B/S模式的构造,浏览器 Web服务器 数据库服务器,B/S结构组成示意,B/S构造的主要特点:,实现了客户端免维护的功能 因为一般的操作系统在安装时默认提供了浏览器的安装(如Windows、RedHat Linux),且容易在运行时自动升级。 对客户机的硬件配置要求基本没有额外的要求 如Web Mail之类的应用系统 系统维护的集中化 系统安装、修改以及升级和维护集中在服务器端解决。 系统集成特性 提供了异构环境(包括异种机器、异种网络、异种应用服务)的统一及集成。,不足:,客户

8、端扩展能力的限制,存在公共安全的隐患; 在数据通讯的速度方面,其交互响应的速度明显低于传统的C/S架构; 由于基于页面为处理方式和非连接特点,不利于联机事务处理(OLTP)的应用; 相对传统C/S的结构特点和技术的成熟,B/S在开发技术和效率上落后于传统的C/S架构。,10.4 开放式数据库开发,10.4.1 ODBC 10.4.2 基于ODBC接口的编程 10.4.3 数据库操作对象ADO,10.4.1 ODBC,数据库系统开发的API作用 DB SQL API的发展演变,调用级接口CLI(Call Level Interface),背景: SQL语言之标准化 不同数据库的互操作要求 是SQ

9、L API的规范核心:为应用开发的实现提供了统一的行业的规范 由Oracle、Sybase、Lotus、Ingres、Informix、HP、DEC等提出了(20世纪80年末) 局限性:没有统一产品(和DBMS的捆绑),ODBC(Open Database Connectivity),微软公司于1991年11月宣布ODBC技术 基于CLI的规范要求,更具先进性和开放性 得到广泛的支持,成为事实的标准,基于ODBC数据库应用系统的组成部件,应用程序(Application) 使用ODBC接口的应用程序可执行的任务包括调用ODBC函数、递交语句给DBMS、获取结果并进行处理,它负责ODBC外部工作

10、。 驱动程序管理器(Driver Manager) remark 由微软提供的驱动程序管理器是带有输入库的动态连接库ODBC.DLL,通过装入方式实现应用程序和各种数据库系统(SQL Server、Oracle、DB2等)驱动程序的连接和交互。 驱动程序(Driver) 驱动程序是实现ODBC函数和数据源交互的DLL,当应用程序调用SQL Connect或者SQL Driver Connect函数时,由驱动程序管理器装入相应的驱动程序,驱动程序对来自应用程序的ODBC函数调用进行应答,按照其要求执行任务。,图10.6:基于ODBC实现的数据库应用系统的分层结构,10.4.2 基于ODBC接口的

11、编程,编程的具体步骤 编程实现的具体步骤示意及其说明如下图:,10.4.3 数据库操作对象ADO,ADO(Active-X Data Object)是一个由Microsoft提供的先进而强大的数据访问之对象化编程模型 ADO是数据访问技术演变过程的标志性技术,为了说明ADO的实质,需要了解其发展的历史背景,1、Microsoft数据访问的演变过程,DAO 和 RDO 由C语言开发的ODBC 使用了低层接口,其中利用了指针的访问特点,适合于指针特性的语言类别如 C 和 C+ 的应用开发 其他语言如Visual Basic在其6.0版本之前,开发人员不能直接进行ODBC的编程,而是采用DAO或者R

12、DO的数据访问技术。,图10.8 DAO对象数据库的访问路线,DAO数据访问,DAO 针对 Access而设计。可见,使用 DAO 是连接 Access 数据库最快速、最有效的方法。 对于非 Access 数据库(例如,SQL Server 和 Oracle等)的访问,需借助ODBC的中介处理,RDO,DAO缺点:对于non-access,由于额外的解释处理环节,令数据访问的性能受到较大的损害 RDO机制:绕开Jet引擎而直接使用ODBC API访问 是一种直接对ODBC API的对象化封装,具有适用于多种语言的友好编程接口 RDO直接继承了ODBC的高性能特性,相对Jet引擎封装ODBC的情

13、形,RDO的数据库访问性能得到显著的改善(对于非Access)。,RDO的访问机制示意,OLE DB,ODBC的局限性: ODBC的技术不能集成基于除关系模型以外的其它数据模型的数据对象,如不能访问不使用SQL的非关系数据源(例如,不按照关系存储数据的电子邮件如Microsoft Exchange Server、目录服务如LDAP等)中的数据。 OLE 是Microsoft的万能数据访问策略,为万能数据访问提供通用接口,它用来表示任何数据源的数据。,OLE DB的要点,在ODBC基础上,结合OLE的万能数据接口技术OLE DB访问技术 OLE DB使得各类数据的统一标准化访问成为现实,实现对广

14、泛数据对象的集成访问。,ADO,和ODBC类似,OLE DB支持指针、数据结构和直接内存分配,因此它只是提供了 C 和 C+ 程序员及使用其他包含 C 样式函数调用语言的程序员对应的调用样式(绑定)。 对于大部分的语言(例如 VB 和 VBScript、Java)不提供指针数据类型(地址变量),因此,这些语言不能使用 C 样式绑定,而且不能直接调用 OLE DB。,ADO的提出,在OLE DB的基础上,Microsoft 推出了另一个数据访问对象模型:ADO。 ADO 采用类似于RDO对象对ODBC的封装关系机制,实现对OLE DB的封装,且提供比RDO 更简单的对象模型,OLE DB的数据访

15、问机制示意图:,2、ADO 对象模型及其主要对象简介,ADO 对象模型简要说明:,3、基于ADO的VB6编程,基于ADO的VB6编程步骤大致如下: 连接数据源(connection);或者开始一个事务(Transaction)。 可选择创建表示 SQL 查询命令的对象(connection、command、recordset)。 可选择在 SQL 命令中将值指定为变量参数(parameter)。,执行命令。如果命令以行(记录)返回,将行存储在存储对象中(recordset)。 可选择对数据进行定位、检查、操作和编辑(recorset)。 适当情况下,可以使用存储对象中的变更对数据源进行更新。可

16、选择在事务处理中嵌入更新数据(Recordset.update、Recordset.BatchUpdate、connection.BeginTrans)。 在使用事务之后,可以接受或拒绝在事务中所做的更改(connection.CommitTrans、connection.RollbackTrans)。,使用ADO技术的vb6编程例子,该例子在客户端编辑数据集,使用乐观锁定、开放式批更新功能和事务机制以及记录客户端数据的XML格式。 作为演示,本程序的错误逻辑没有严格处理 注意:VB6中利用ADO编程时,在VB6 IDE中先要引入ADO对象库。,程序清单 10.2基于ADO的VB6程序 Dim cnn1 As ADODB.Connection Dim rstStudent As ADODB.Recordset Dim strCnn As String Dim i As Integer 使用学生表中的数据打开记录集。 Set cnn1 = New ADODB.Connection strCnn = “Provider=sqloledb

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号