北京邮电大学软件工程研究生的课程---数据库设计开发-32928.pptx

上传人:muj****520 文档编号:88696944 上传时间:2023-04-30 格式:PPTX 页数:42 大小:127.40KB
返回 下载 相关 举报
北京邮电大学软件工程研究生的课程---数据库设计开发-32928.pptx_第1页
第1页 / 共42页
北京邮电大学软件工程研究生的课程---数据库设计开发-32928.pptx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《北京邮电大学软件工程研究生的课程---数据库设计开发-32928.pptx》由会员分享,可在线阅读,更多相关《北京邮电大学软件工程研究生的课程---数据库设计开发-32928.pptx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、3.3 3.3 数据库应用系统体系结构数据库应用系统体系结构数据库应用系统的发展经历了主机/终端模式、客户机/服务器模式之后,随着Internet的发展,又出现了浏览器/服务器模式,以及分布式数据库体系结构。3.3.1简介 3.3.2客户机/服务器结构 3.3.3 C/S结构的数据库管理系统 3.3.4 C/S结构的数据库系统 3.3.5浏览器/服务器模式 3.3.6分布式数据库体系结构郭文明 2003.06.053.3.13.3.1简介简介早期数据库系统是集集中中式式的的体体系系结结构构,所有访问数据库的应用程序以及用户终端发送并接受数据的通信都在一个宿主计算机(UNIX大型或小型机)上运行

2、。随着PC机的兴起,单单用用户户的的DBMSDBMS出现,DBMS的功能和数据库应用功能结合在一个应用程序中,数据库应用处理用户输入和屏幕输出的同时,也处理对数据库中数据的访问。基于PC的单用户DBMS不支持事务处理和回退恢复,不能保证数据的安全和完整,但查询速度并不一定慢。郭文明 2003.06.053.3.13.3.1简介简介基于PC的多多用用户户DBMSDBMS建建立立在在文文件件服服务务器器前前提提下下,客户端运行服务器的应用程序,文件服务器将客户申请的文件传送给客户机器,数据处理过程在客户机器上进行。这种方式网络传输的是数据文件,传输量大,数据锁定在解决并发时存在困难。事务处理的性质

3、使数据库系统从集中式、PC系统过渡到客户机/服务器系统,并使分布式系统成为可能。客客户户机机/服服务务器器系统最本质的特点在于:客户PC运行数据库应用(界面处理),数据库服务器运行全部或大部分DBMS(数据处理)。服务器运行SQL,将查询结果传送到客户端,减少了网络信息的传输,系统采用数据锁定、事务技术、存储过程等数据库技术保证数据完整一致准确。郭文明 2003.06.053.3.23.3.2客户机客户机/服务器结构服务器结构客户机/服务器(Clien/Server)结构可以指硬件结构,也可以指软件结构。硬件结构硬件结构指某项任务在两台或多台计算机之间进行分配,客户机来运行提供用户接口和前端处

4、理的应用程序,服务器提供可供客户机使用的各种资源和服务。客户机在完成某一项任务时,通常要利用服务器上的共享资源和服务器提供的服务。在一个客户机/服务器体系结构中可以有多台客户机、多台服务器。郭文明 2003.06.053.3.23.3.2客户机客户机/服务器结构服务器结构软件结构软件结构指把一个应用系统按照逻辑功能分成四个组成部分:用户界面、应用表示逻辑、事务逻辑、数据管理,按照其相对角色的不同区分为客户端和服务器端软件。客户软件能够请求服务器软件的服务。客户软件和服务器软件可以分布在网络中不同的计算机节点上,也可以放置在同一台计算机上。终端终端数据库数据库应用程序应用程序用户用户界面界面应用

5、应用逻辑逻辑事务事务逻辑逻辑数据管数据管理理GUI3GL4GLSQLORACLEDB2郭文明 2003.06.053.3.23.3.2客户机客户机/服务器结构服务器结构常见C/S体系有两层结构和三层结构。两两层层C/SC/S结结构构的基本工作方式:客户程序运行用户的应用程序,向数据库服务器发送SQL请求,数据库服务器接受客户机的请求,并将处理结果返回客户端。一个功能强大的客户应用开发语言和一个多用途的用于传送客户请求到服务器的机构是整个两层结构的核心。在一个数据存取事件中,数据由服务器实施存储和访问,数据库引擎负责处理从客户端发来的请求。把SQL语言从客户机传送到服务器上必须能识别服务的标识符

6、或由一个应用程序接口来完成,还必须知道服务器的位置、数据组织形式以及数据如何定义。在服务器中,请求将得到存储逻辑和处理的进一步优化,例如使用权限、完整性、并发控制等。郭文明 2003.06.053.3.23.3.2客户机客户机/服务器结构服务器结构两层C/S结构具体又分为两种实现方式:一种是客户端完成界面显示和应用逻辑,服务器完成事务逻辑和数据管理。这种情况是以客户为中心的。这种方式下,表示部分和应用逻辑耦合紧密,比较适用于应用相对简单、数据访问量不大的情况。另一种以服务器为中心,一些重要的应用逻辑放在服务器上,充分利用服务器的计算能力,通常以存储过程和触发器出现,减少网络压力,提高系统性能。

7、这种方式下,存储程序依赖于特定数据库,不同数据库间的移植不太容易。郭文明 2003.06.053.3.23.3.2客户机客户机/服务器结构服务器结构把两层结构中服务器部分和客户端部分的应用单独划分出来,即形成三层C/S结构。在X/Open DTP标准中描述了三层C/S模型:由应用程序定义各种操作来执行完成特定任务,它定义事务的范围并把服务要求提交给事务管理器、通信管理器及一个或多个资源管理器。资源管理器提供应用程序的事务间的服务,通常是一个数据库。事务管理器提供事务的服务。如果事务跨越多个平台,那么其中一个的事务管理器为该事务的事务管理器。通信管理器提供通信服务的接口以及管理应用层协议。郭文明

8、 2003.06.053.3.23.3.2客户机客户机/服务器结构服务器结构数据库应用的三层C/S结构将应用分成表示部分、应用逻辑(或称商业逻辑)、数据访问部分。三层C/S结构使各部分相互独立并单独实现,分别称为客户、应用服务器和数据库服务器。三层C/S结构中数据在发送到网络之前由功能服务器加以过滤,网络流量会减少,另外客户端并不是直接同数据库打交道,而是通过中间层的统一调用来实现,在灵灵活活性性和和独独立立性性方方面面较好,适合于不同数据库的互联较好,适合于不同数据库的互联。客户客户1应用服务器应用服务器数据库数据库数据库服务器数据库服务器客户客户N郭文明 2003.06.053.3.23.

9、3.2客户机客户机/服务器结构服务器结构基于三层模型的应用系统:应用逻辑层:最普遍的处理方案是使用存储过程和触发器。从客户机角度看存储过程是一个单独的事件,可以在服务器上执行复杂的操作,事务的完成或取消最终控制权交给用户;使用存储过程可避免通过网络传送SQL语句,也不必将数据通过网络传回来进行处理。数据层:定义正确的数据表和选择合适的存储方案,优化数据库的性能,使数据库快速、可靠、准确的响应用户的请求。如建立索引,优化设置。表示层:表示层主要承担人机界面的任务应用系统的性能优化设计是一项系统的工作,三三层层模模型型为为系系统统的的开开放放性性扩扩充充和和性性能能优优化化提提供供了了很很大大的的

10、空空间间和和灵活性灵活性,但单纯的三层结构并不一定是最优的。郭文明 2003.06.053.3.3 C/S3.3.3 C/S结构的数据库管理系统结构的数据库管理系统C/S数据库管理系统通常通过高性能的锁定、事务提交、参照完整性、存储过程和触发器等数据管理技术实现多用户下良好的数据完整性和并发控制。C/S结构数据库系统的分层模型应用程序数据库API网络/通信接口网络/通信接口数据管理客户管理DBMS存储文件客户端服务器数据/网络协议郭文明 2003.06.053.3.3 C/S3.3.3 C/S结构的数据库管理系统结构的数据库管理系统客户端网络接口:是在客户端负责客户应用与数据库负责客户应用与数

11、据库服务器通信服务器通信,将数据信息编码或解码,提供发送/接受的逻辑通道。网络接口层协议的目的是为了减少网络传送的字节数目,它建立在基础网络协议(TCP/IP、IPX、SAN等)之上。编码协议主要有两种:通信与远程过程调用(Remote Procedure Call,RPC)。通信是指前端应用与DBMS之间的信息传输采用的报文形式,编码协议有:TABULAR(Microsoft)、SQL*Net(Oracle)、DRDA(IBM)。远程过程调用是一种由客户制定而由服务器来执行的函数调用。客户端数据管理层:用于客户应用与服务器数据库进行交互时所必需的登录管理和数据库连接以及提交语句、返回结果和处

12、理错误。客户端数据管理层实际上客户端数据管理层实际上就是开发人员或应用程序使用的数据库就是开发人员或应用程序使用的数据库API。如DB_Library(Microsoft、Sybase)、OCI(Oracle)和SQLRuntime(IBM).郭文明 2003.06.053.3.3 C/S3.3.3 C/S结构的数据库管理系统结构的数据库管理系统服务器端的客户管理:客户管理程序的作用是协调客户端的通信要求,为每个客户联系建立合法的数据通信渠道,为在网络上传送而使信息格式化,管理多种客户请求线程。服务器端的数据管理:数据管理程序处理每数据管理程序处理每个客户的数据服务请求个客户的数据服务请求,验

13、证和解析SQL请求,优化数据操作,生成存取计划,建立不同形式的锁控制并发,对数据库中数据的访问(存取计划)。客户对数据库的访问可以理解为:服务器端正确解析客户发出的SQL请求,并作出回应或发回出错信息。郭文明 2003.06.053.3.3 C/S3.3.3 C/S结构的数据库管理系统结构的数据库管理系统基于不同DBMS的差异和对不同SQL语言版本的支持,客户应用必须考虑采用何种数据库访问策略:选择开发客户应用的开发环境和选择适:选择开发客户应用的开发环境和选择适当的应用程序接口当的应用程序接口(API)(API)。所有的客户机服务器数据库厂商都有自己支持所有的客户机服务器数据库厂商都有自己支

14、持的程序设计工具箱的程序设计工具箱,他们可以独立建立定制的客户应用。特定于专门数据库的设计工具,提供了对本数据库最完美的支持,但可能忽略对其他数据库的全力支持,选择第三方厂商的开发应用集成环境,是对该空隙的有力补充,他们往往注意数据库共性的同时,通过各种技术为异质数据库提供不同支持,如ODBC。郭文明 2003.06.053.3.3 C/S3.3.3 C/S结构的数据库管理系统结构的数据库管理系统为了使客户应用能同时访问多种数据库,(既包括网络数据库,又包括单机数据库),应用开发环境所采用的技术往往有两种途径:支持诸如支持诸如ODBCODBC这样的公共数据库接口这样的公共数据库接口APIAPI

15、专专门门设设计计同同时时驱驱动动多多种种安安装装在在客客户户端端的的数数据据库驱动程序管理层库驱动程序管理层。许多应用开发集成环境同时采用这两种途径,以便提高产品的通用性。如Delphi的 BDE(Borland Database Engine)。郭文明 2003.06.053.3.4 C/S3.3.4 C/S结构的数据库系统结构的数据库系统C/SC/S系系统统的的并并发发控控制制:C/S系统必须提供封锁机制,事务编程要尽可能避免死锁,并允许死锁的发生及提供解决死锁的方案,保证并发执行的同时维护数据的一致。封锁机制可以由DBMS自动控制,也可以通过显式加锁完成。C/SC/S系系统统的的完完整整

16、性性约约束束:在C/S系统中,数据完整性约束是在服务器上定义,并由服务器来检查约束,这样能方便地实现对数据库的完整性和一致性控制。如果由客户机检查约束,检查逻辑必须包含在每一个应用程序中,既浪费又容易出错。郭文明 2003.06.053.3.4 C/S3.3.4 C/S结构的数据库系统结构的数据库系统C/SC/S系系统统的的安安全全性性控控制制:DBMS通常运行在后台服务器上,自身已具备安全管理功能。应用程序运行在前端客户机上,安全性问题由开发者自己设计。如何将后台DBMS的安全机制与前端应用程序的安全机制有机结合起来,形成统一的安全保密机制。可以选择以下几种方案:内核级透明代理内核级透明代理

17、:每个数据库应用只建立一个真正的数据库帐号(Root),它具有对系统应用所涉及的数据库实体进行操作的全部权限。为每一个系统操作人员分别创建一个应用系统帐号,放在数据库中的Users表中。每次应用程序在客户端执行时,首先以Root登录数据库,然后执行登录程序,与Users表结合,实现应用系统登录。Users表中的内容需加密保存,数据的加密和解密通过应用程序完成。郭文明 2003.06.053.3.4 C/S3.3.4 C/S结构的数据库系统结构的数据库系统用户授权机制用户授权机制:后台服务器系统除了操作系统具有严格的用户等级机制外,DBMS也具有严格的用户授权管理机制。前端应用程序的安全机制与D

18、BMS的安全机制统一起来,可以增强安全保密功能。具体做法:从功能出发将整个系统细分为若干个可分配的最小权限单元,这些权限即对数据库中所涉及的表、视图的增删改查。然后运用角色或工作组的概念,结合各种系统使用人员的工作性质,为系统创建各种操作等级,并为每个等级相应地授予不同的权限。用户等级及每种等级所对应的默认权限组合建立对照字典,管理员可以方便地增加等级或改变某一等级的默认权限。在统一管理下,既方便又可防止用户绕过应用逻辑直接操作数据库的可能。郭文明 2003.06.053.3.4 C/S3.3.4 C/S结构的数据库系统结构的数据库系统智能型日志智能型日志:DBMS的日志系统是为了保障事务故障

19、、系统故障和介质故障的恢复。智能型日志是数据库应用系统设计的为了跟踪系统使用情况的记录,相当于飞机的黑匣子。在系统中,智能型日志将记录:自某用户登录时起,到其退出系统时止,这段时间中执行的所有操作,包括登录失败操作,具体内容有执行某操作的用户名、执行操作的计算机IP地址、操作类型、操作对象、执行时间等。一旦系统发生故障或受到非授权用户的恶意攻击,通过查询日志系统的记载可追溯到事件发生的所有过程。另外,日志系统还可以使系统管理员分类检索日志内容,通过智能推理日志内容,寻找系统中可能存在的不安全因素。如对同一帐号的连续三次登录失败,系统自动冻结该帐号或封锁工作站。郭文明 2003.06.053.3

20、.4 C/S3.3.4 C/S结构的数据库系统结构的数据库系统备份及恢复机制备份及恢复机制:数据库管理系统提供了事务故障、系统故障的恢复例程,介质故障的恢复要靠DBA来进行。DBMS提供的数据恢复机制并不能满足所有的应用情形。为了防止存储设备的异常损坏,可以采用可热插拔的磁盘容错阵列或双机热备份等技术。为了防止人为的失误或破坏,可建立强大的数据库触发器以建立强大的数据库触发器以备份重要数据的更新操作备份重要数据的更新操作,对删除操作,将被操作的记录全部存储在备份库中,对更新操作,可以备份执行过的SQL语句等等。保证在任何情况下,重要数据均能有效地得到恢复。只有将系统日志与备份数据有机地结合在一

21、起,才能实现系统安全的万无一失。郭文明 2003.06.053.3.5 3.3.5 浏览器浏览器/服务器模式服务器模式随着Internet和Web技术的发展,大量的商业活动在Internet展开。在典型的C/S体系中,为Internet中的每一个用户安装一前端应用程序已不再现实,在自己的Web站点上同时保存某一应用程序的多个特定平台的版本也不可行。客户端安装某种具有一定翻译功能的统一的构件,充当用户与Internet之间的一个接口,同时是大部分应用程序运行的主要环境外壳,这一构件即浏览器。对于浏览器而言,程序和数据的具体位置并不重要,只需知道它们的URL(通用资源定位符)。郭文明 2003.0

22、6.053.3.5 3.3.5 浏览器浏览器/服务器模式服务器模式基于浏览器/服务器计算模式的系统应运而生,它继承了C/S模式的优点,十分容易地实现了不同网络间的连接。目前应用广泛的浏览器/服务器计算模式主要是浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接到客户请求后,激活对应的CGI程序将超文本HTML语言转化为SQL语法,将这个请求交给数据库,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理结果集返回CGI程序。CGI再将结果集转化为HTML,并由Web服务器转发给请求方的浏览器。郭文明 2003.06.053.3.5 3.3.5 浏览器浏览器/服务

23、器模式服务器模式在浏览器/服务器模式中,客户端的标准配置是浏览器,业务处理功能处理从C/S代码中分离出来,由独立的应用服务器处理,Web服务器成为应用处理的标准配置,数据处理仍然由数据库服务器处理.浏览器/服务器模式是三层分布结构,即浏览器-Web服务器-数据库服务器.Web浏览器Web浏览器Web浏览器Web服务器数据库应用文件系统数据库应用数据库服务器数据库服务器 数据库服务器客户层Web服务层数据库层郭文明 2003.06.053.3.5 3.3.5 浏览器浏览器/服务器模式服务器模式浏览器/服务器的三种工作方式:简单式:Web浏览器需要一个HTML页面时就提交一个URL地址到Web服务

24、器,Web服务器从Internet上检索到所需的本地或远程的网页,并将页面返回到浏览器。也可使用Java Applet、ActiveX和Java Bean来加强表达。该模型只限于使用HTTP协议进行通信。交互式:在打开与服务器连接及传输数据以前,HTML获取用户输入的表单、文本域、按钮,通过这些内容取得与用户的交互。HTTP服务器将输入信息传递服务器程序或某个脚本进行处理,Web服务器再从DBMS服务器中检索数据,然后返回浏览器,最后中断浏览器和服务器连接。该模型已经是三层结构,但每一个浏览器和服务器间的通信都要建立一个连接,造价昂贵。郭文明 2003.06.053.3.5 3.3.5 浏览器

25、浏览器/服务器模式服务器模式分布式:客户程序是由可下载的Java编写,当HTTP服务器将含有Java小应用程序(Java Applet)的页面下载到浏览器时,小应用程序在浏览器中运行并通过构件与传输服务器上的小服务程序(Servlet)通信会话,小服务程序收到信息后,经过JDBC、ODBC或本地方法向数据库服务器发出请求,数据库服务器接到命令后,再将结果传给Servlet,最后送至浏览器。这种方式引入了分布式计算构件概念,使得函数也可以在网络上传递。这样,在网络环境下,不同电脑、不同操作系统之间的应用程序就可以彼此沟通,达到“平台无关”。该模型已不再局限于Web服务器和HTTP协议,还有DCO

26、M,CORBA协议等。浏览器/服务器模式引发了另外一个专门的技术领域Web数据库。郭文明 2003.06.053.3.6 3.3.6 分布式数据库体系结构分布式数据库体系结构DB1DB1DB1计算机1计算机1计算机1通讯网络北京重庆上海银行系统背景:数据库系统+计算机网络郭文明 2003.06.053.3.6 3.3.6 分布式数据库体系结构分布式数据库体系结构基本特性分布性:数据存储在不同场地上。与集中式数据库不同。逻辑整体性:数据逻辑上是相互联系的一个整体。与分散在计算机网络不同站点上的一组没有相互联系的本地数据库区别开来。定义 DDBS(Distributed Data Base)是一个

27、数据集合,这些数据,分布在计算机网络的不同计算机上,网络中每个结点具有独立处理的能力,可以执行局部应用,同时每个结点也能通过网络通讯支持全局应用。分布式数据库强调场地自治性(局部应用)以及自治场地之间的协作性(全局应用)。“在自治的结点之间协同工作”郭文明 2003.06.053.3.6 3.3.6 分布式数据库体系结构分布式数据库体系结构体系结构G-概念模式:定义DDBS中数据的整体逻辑结构,数据如同没有分布一样。分片模式:每一个关系可以分为若干互不相交的部分,每一部分称为一个片段。分布模式:定义片段的存放地点。G-外模式外模式G-外模式外模式G-概念模式概念模式分片模式分片模式分布模式分布

28、模式L-概念模式概念模式L-概念模式概念模式L-内模式内模式L-内模式内模式L-DBL-DB郭文明 2003.06.053.3.6 3.3.6 分布式数据库体系结构分布式数据库体系结构数据在分布式数据库的存储途径复制系统维护关系的几个完全相同的副本,这些副本存储在不同的结点上。分片关系被划分为几个片段,各个片段存储在不同的结点上。分片方式水平分片:将关系r按行分为若干子集r1,r2,rn,每个子集ri称为一个水平片段。一个水平片段可以看成是关系上的一个选择。垂直分片:将关系r按列分为若干属性子集r1,r2,rn,每个子集ri称为一个垂直片段。一个垂直片段可以看成是关系上的一个投影。郭文明 20

29、03.06.053.3.6 3.3.6 分布式数据库体系结构分布式数据库体系结构导出分片:导出水平分片,分片的条件不是关系本身属性条件,而是其它关系的属性条件。混合分片:关系按某种方式分片后,得到的片段再按另一种方式继续分片。复制+分片关系被划分为几个片段,系统为每个片段维护几个副本。数据项的命名 每个数据项(关系、副本、片段)必须有唯一的名字,在分布式数据库系统中必须保证在不同的结点上不会用同一个名字来代表不同的数据项。郭文明 2003.06.053.3.6 3.3.6 分布式数据库体系结构分布式数据库体系结构分布(网络)透明性分片透明性:用户或应用程序只对全局关系进行操作而不必考虑关系的分

30、片。如果分片模式改变了,通过调整全局模式与分片模式之间的映象关系来保持全局模式不变。位置透明性:用户或应用程序不必了解片段的存储位置。局部数据模型透明性:用户或应用程序不必了解局部场地上使用的是哪种数据模型。分布式数据库系统(DDBS)的组成:全局用户、局部用户;全局数据库(GDB)、局部数据库(LDB);全局数据库管理系统(GDBMS)、局部数据库管理系统(LDBMS);全局数据分配(GDD)、局部数据分配(LDD)。郭文明 2003.06.053.4 3.4 中间件中间件在分布式计算环境中,有两层的C/S模式、三层的C/S模式、三层的B/S模式以及多层的计算模式,不同层次之间需要相互通信。

31、在两层系统中,关系数据库开发商提供一些专用库和驱动程序来访问数据库。由这些专用程序对不同网络协议进行抽象,在写客户应用程序时无需考虑数据库的实际位置,客户层应用程序可以链接适当的动态或静态库与数据层进行通信,这些动态或静态库保证了请求和数据格式的一致、访问优化、分布式服务管理,称为中间件(如ODBC)。郭文明 2003.06.053.4 3.4 中间件中间件多层系统中需要更复杂的关系实现跨网络、跨层次的通信,客户应用程序需要一种通信模型,来协调应用程序的不同平台。当这种模型实现后,就出现了为这样的客户应用程序提供中间件基础的标准。多层系统中中间件是建立在一种通信模型基础之上。中间件定义:中间件

32、(Middleware)是分布式环境中保证操作系统、通信协议、数据库之间进行对话、互操作的软件系统。在C/S环境中,中间件同时存在于客户端和服务器端,负责客户和服务器间的请求和回答。在分布式环境中,中间件允许不同服务器之间相互通信。郭文明 2003.06.053.4 3.4 中间件中间件中间件作用:保证网络中各部件之间透明地连接,即隐藏网络部件的异构性,保证不同网络、不同DBMS和某些访问语言的透明性。网络透明性:能支持所有类型网络。服务器透明性:不管服务器的DBMS是何种型号,一个好的中间件都能通过SQL语言连接起来。语言透明性:客户机可用任何语言进行请求和接受回答,并保证数据类型的相互转换

33、。郭文明 2003.06.053.4 3.4 中间件中间件由于用途不同,存在不同种类的中间件,主要有数据访问中间件、远程过程调用中间件、分布式事务处理中间件、对象调用以及面向消息的中间件等。不同种类的中间件基于不同的通信模型。为了满足不同客户实现(编程语言)的需要,中间件技术在近10年中得到极大发展。第一个获得广泛认可的中间件技术是远程调用中间件(RPC)。使用远程过程调用,客户可以在远程计算机上执行C语言函数。对于远程过程调用体系结构来说,ONCRPC(Open Network Computing RPC)和DCE(Open Groups Distributed Coputing Envir

34、onment)是主流标准。郭文明 2003.06.053.4 3.4 中间件中间件随着面向对象语言的流行,分布式中间件也朝面向对象方向发展,OMG(对象管理组织)提出了 CORBA(Common Object Request Broker Architecture),微 软 提 出 了 COM(Component Object Model),都是规范分布式对象体系结构的尝试。许多开发商推出了基于这些规范的中间件。IBM早在20世纪90年代初就提出了系统对象模型SOM(System Object Model)。为了避开与微软竞争,IBM也转向了CORBA。郭文明 2003.06.053.4 3.

35、4 中间件中间件ODBC(Open Database Connect)它是由Microsoft 公司于1991 年提出的一个用于访问数据库用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而提供了数据库的独立性。传统的数据库编程方式是主语言+DML。由于各厂商的SQL版本不同,不同厂商的DBMS在客户机与服务器之间使用的通信协议不同,使得特定的前端应用不能访问不同的数据库。因此有必要建立一个公共的、与数据库无关的应用程序设计接口(Applica

36、tion Programming Interface,API)。最先推出的公共API是微软的ODBC。它以C/S结构为设计基础。郭文明 2003.06.053.4 3.4 中间件中间件使用ODBC开发数据库应用程序时,在应用程序中调用标准的ODBC函数和SQL语句,通过加载的驱动程序将逻辑结构映射到具体的DBMS,即连接数据库和存取数据库的底层操作由驱动程序驱动各个数据库完成.ODBC数据应用程序驱动程序管理器SQLServer驱动程序Oracle驱动程序Foxpro驱动程序Sybase驱动程序DB2 驱动程序DBDBDBDBDBSQLServer数据源Oracle数据源Foxpro数据源Sy

37、base数据源DB2数据源郭文明 2003.06.053.4 3.4 中间件中间件驱动程序管理器是一个动态连接库(DLL),用于连接各种DBS的DBMS驱动程序,管理应用程序和DBMS驱动程序之间的交互作用。驱动程序也是一个动态连接库(DLL),当应用程序调用SQLConnect时,驱动程序管理器加载驱动程序。ODBC规范定义的驱动程序有两种类型:单层驱动程序和多层驱动程序。单层驱动程序:单层驱动程序不仅要处理ODBC函数调用,还要解释执行SQL语句,执行DBMS功能。单层驱动程序本身是一个数据库引擎,尽管该数据库可能位于网络的任何地方,但由它直接可完成对数据库的操作,Xbase DBS的驱动

38、就属于这种。应用程序把存放数据库的服务器作为文件服务器使用,在网络中传输的是整个数据库文件。郭文明 2003.06.053.4 3.4 中间件中间件多层驱动程序:多层驱动程序只处理应用程序的ODBC函数调用和数据转换,它将SQL语句传递给数据源服务器,由DBMS解释执行SQL语句。SQL Server等数据库的DBS就属于这种。使用多层驱动程序,在数据库服务器上实现对数据库的各种操作,在网络中只传输用户请求和数据库处理结果。应用程序的主要功能是:调用ODBC函数,递交SQL语句给DBMS,检索出结果并进行处理。应用程序的操作可包括:连接数据库;向数据库发送SQL语句;为SQL语句执行结果分配存

39、储空间,定义所读取数据的格式;处理错误;向用户提交处理结果;请求事务的提交和回退操作;断开与数据源的连接。郭文明 2003.06.05作业:作业:1.一个典型的数据库应用程序有哪四部分组成?2.客户机和服务器的任务各是什么?3.从C/S的结构看,其发展趋势如何?4.举例说明C/S系统开发中的并发控制、安全控制等管理问题。5.分布式数据库系统的优点缺点是什么?6.结合实际谈谈B/S模式中的中间件。郭文明 2003.06.05谢谢观看/欢迎下载BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES.BY FAITH I BY FAITH

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 消防试题

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁