数据库系统体系结构.ppt_第1页
数据库系统体系结构.ppt_第2页
数据库系统体系结构.ppt_第3页
数据库系统体系结构.ppt_第4页
数据库系统体系结构.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 数据库系统体系结构,教材:数据库技术及应用 2006年4月,宁可、吴菁、胡海编著,本章要点,集中式系统 客户/服务器系统 分布式系统 数据库接口,目 录,3.1 集中式系统 3.2 客户/服务器系统 3.2.1 客户/服务器结构 3.2.2 N层客户机-服务器结构 3.3 分布式系统 3.3.1 分布式系统的基本概念 3.3.2 分布式数据库系统的主要特点 3.4 数据库接口 3.4.1 通过ODBC连接数据库 3.4.2 通过JDBC连接数据库 3.4.3 通过OLE DB连接数据库 3.4.4 通过专用接口连接数据库 3.4.5 通用数据库接口和专用数据库接口的比较 3.5 应用实例 小结,3.1 集中式系统,集中式系统是指运行在一台计算机上,不与其它计算机系统交互的数据库系统。这些主要表现在运行在个人计算机上的单用户数据库系统和运行在大型主机上的高性能数据库系统。 对于个人计算机上的单用户数据库系统来说,其结构简单,容易设计、构造、操作和维护,但数据处理能力有限,而集中式大型机系统则一般常用于大规模的批处理系统,这些应用常见于银行业、保险业等。,图3-2:高性能数据库系统。,主机,终端,3.2 客户/服务器系统,随着计算机网络和计算机软硬件技术的发展,计算机的性能价格比越来越高,使原集中式系统的终端变为个人计算机,而相应的由原集中式系统中主机完成的任务也有所划分,即由原集中式系统中主机完成的用户界面功能现在由个人计算机来处理,集中式系统变为服务器系统,以满足客户系统产生的请求,客户/服务器系统一般结构如图3-3所示。,服务器,客户机,客户机,客户机,客户机,图3-3 客户/服务器系统一般结构,网络,在该体系结构中,数据的存储和管理通常由服务器来承担,此服务器称为数据库服务器。,3.2.1 客户/服务器结构,对于数据库系统而言,客户/服务器系统可将数据库功能大致分为两个部分:前端客户机系统和后端服务器系统。前端客户机系统主要包括图形用户界面工具、表格及报表生成和书写工具等;后端服务器系统负责数据的存取和控制,包括故障恢复和并发控制等。从功能来说,客户/服务器系统的功能划分如图3-4所示 。,表格用户界面,SQL用户界面,图形化界面,数据库引擎,前端客户机 系统,后端服务器系统,接口,图3-4 客户/服务器系统的功能划分,客户/服务器系统对数据的一般处理过程,如图3-5所示,请求和接收数据信息的具体描述如下: (1)用户在客户端请求数据查询。 (2)请求被翻译成SQL语言。 (3)SQL请求通过网络被传送到服务器端。 (4)数据库服务器在存储数据的计算机上进行检索。 (5)在服务器上检索得到的结果通过网络传递给客户端。 (6)结果在客户端呈现给用户。,图3-5 客户/服务器系统对数据的处理过程,3.2.2 N层客户/服务器结构,一个信息系统应用程序通常可以分成数据层、商业逻辑层和视图层,这种客户/服务器结构可称为三层结构,图3-6说明了这三层间的相互作用,其中用户层(视图层)是作为商业逻辑层的一个客户,而商业逻辑层作为数据层的一个客户。,图3-6 三层结构间的相互作用,上述三层客户/服务器结构的各层所包含内容及功能分别是: 1数据层 在客户机-服务器结构中包含数据库的层,该层主要管理存储的数据,通常由一个或多个数据库实现。 2. 商业逻辑层 在客户机-服务器结构中包含应用系统的程序逻辑实现的部分,该层实现商务处理的规则和程序。 3. 视图层 在客户机-服务器结构中包含用户界面和其他访问系统的组件的部分,该层主要用于接收用户的输入、格式化并显示处理结果。 相对而言,三层结构的应用软件在网络上更容易分布和复制。层间的交互总是请求或响应,这使层次与层次之间相对独立。因此它们可以放在不同的计算机系统中,用网络连接和中间件作为粘结剂将它们绑定在一起形成一个单独的应用系统。,3.3 分布式系统,计算机网络化使计算机资源得到共享,这些资源包括软件资源和硬件资源,这使得现代信息系统的部件或功能通常可分布于多个计算机系统和不同的地理位置上,这种将部件或功能分布到不同计算机系统和不同位置的方法一般称为分布式计算或分布式处理。 在分布式计算(Distributed Computing)环境中,一项计算处理任务可被分成若干部分,对相应数据(通常是来自于网络中不同计算机的分布式数据)的处理也不是由一台计算机完成,而是多台计算机协作完成的。如图3-12所示,一项任务W由Wa和Wb组成。而Wa和Wb分别在计算机A和计算机B上完成。,图3-12 任务W由Wa和Wb组成的分布式处理图,分布式系统中的计算机规模可大可小,小到个人计算机、大到工作站或大型机系统。对分布式系统中的计算机,有多种不同的称呼,如节点或结点等,这可依据上下文的不同而异。分布式系统的一般结构如图3-13所示。在图中,各个节点间可通过网络进行通信。,3-13 分布式系统,分布式数据库系统的主要特点,分布式数据库系统的主要优点如下: (1)数据共享。 分布式数据库系统的主要优点是提供一个环境,使得一个节点可以访问存放在其他节点上的数据。 (2)自治性。 通过数据分布的方法来共享数据,其主要优越性是每个节点可以对局部存储的数据保持一定程度的控制。而在集中式系统中,其中心节点的数据库管理员对数据库进行控制。 (3)可用性。 在分布式系统中,如果一个节点发生故障,其他节点还能继续运行。,分布式数据库系统的主要缺点是由于要保证各节点间的相互协作而增加的复杂性。其复杂性表现为以下几种形式 软件开发代价。实现一个分布式数据库系统会更加复杂,因此,代价更高。 出现错误的可能性更大。由于构成分布式系统的各个节点并行地运行,因此更难于保证算法的正确性,尤其难于保证当系统的一部分发生故障时的运行,以及从故障中的恢复。 处理开销增大。相比较集中式系统而言,分布式数据库系统中消息的交换以及保证各节点间的相互协作都增加了系统的相应开销。 因此,在选择数据库系统的设计时,必须在数据分布的优点和缺点间进行权衡。,3.4 数据库接口,目前,客户与服务器之间的数据库接口分成两大类: (1) 通用数据库接口 具有通用的标准数据库接口,如开放式数据库互连(Open DataBase Connecttivity ,简称ODBC)标准,使用ODBC接口的任何客户可以与提供ODBC接口的任何服务器连接。此外,还有Java数据库互连(Java DataBase Connectivity,简称JDBC)和OLE DB数据库接口。 (2) 专用数据库接口。 专用数据库接口根据各个DBMS的不同而不同,例如Sybase数据库系统,它提供了Syabse Open Client和Syabse Open Server两种产品。其中,Open Client是客户端的API,它的作用是调用级接口,使不同开发商的工具软件和客户应用程序可以把SQL命令通过网络发给服务器,以获得数据和服务;Open Server是服务器端的API,它提供的编程接口使得开发人员可以把不同的数据源构造为统一框架的数据库服务器,从而允许客户以SQL语言或远程过程调用的形式,向数据源发送标准请求。然后将数据源返回的结果以标准格式送回客户。在实际开发应用中,一般利用Open Client进行客户端开发。Open Client编程接口的函数库包括:Client_Library、DB_Library和CS_Library。,3.4.1 通过ODBC连接数据库,ODBC是Microsoft公司提出的开放式数据库互连,它采用SQL(Structured Query Language,结构化查询语言)作为标准的查询语言来存取连接到的数据库。ODBC允许单个应用程序存取多个数据库管理系统,而不必关心它所操作的数据库管理系统是什么。,应用程序、ODBC接口、ODBC驱动管理程序和数据库厂商提供的驱动程序的相互关系,如图3-10所示。利用应用程序通过ODBC接口来编写数据库应用程序,完全可以不必关心底层数据库管理系统的实现细节,而只需利用应用程序的ODBC接口所提供的功能就可以简单地完成数据库存取操作。,图3-10 应用程序、ODBC和数据库的关系,Windows 2000操作系统的ODBC数据源管理器窗口界面,如图3-11所示,可在此窗口中进行ODBC的添加、删除和配置工作。有关Windows 2000操作系统的ODBC核心组件的描述,如图3-12所示。,图3-11 ODBC数据源管理器 图3-12 ODBC数据源管理器核心组件的描述,和ODBC一样,JDBC也是一种通用的数据库访问标准。ODBC主要运行在Windows环境下,而JDBC则主要运行在Java环境中。 JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和接口组成,JDBC为数据库开发人员提供了一些标准的应用程序编程接口API,使用户能够用Java API来编写数据库应用程序。有了JDBC API就不必为访问各个不同的数据库专门编写程序,而只需用JDBC API编写一个访问程序,且将Java和JDBC结合起来,就可让它运行在任何平台上。,3.4.2 通过JDBC连接数据库,在开发环境中,可通过JDBC数据库接口来利用JDBC API存取各种数据库,其中开发环境通过JDBC接口连接数据库的各个组件部分的关系,如图3-13所示。,图3-13 JDBC接口中各个组件部分的关系,OLE DB也是一种技术标准,其目的是提供一种统一的数据库访问接口,但这里的数据不仅包括数据库中的数据,而且还包括邮件数据、Web上的文本或图形、目录服务等。OLE DB就是为各种各样的数据存储都提供一种相同的访问接口,使数据的调用者(应用程序)可以使用同样的方法访问各种数据,而不考虑数据的具体存储地点、格式或类型。,3.4.3 通过OLE DB连接数据库,如同ODBC和JDBC接口一样,应用程序的OLE DB接口利用OLE DB API来存取各种数据库,其通过OLE DB接口连接数据库的各个组件部分的关系如图3-14所示。,图3-14 OLE DB接口中各个组件部分的关系,目前大多数开发环境都提供了多种数据库接口,实现与多种数据库的连接。这些接口不仅包括标准的数据库接口ODBC、JDBC和OLDB等,还有一种是专用的数据库接口。在实际应用中,常常需要在一个应用程序中同时使用到这两种接口方式与数据库连接。,3.4.4 通过专用接口连接数据库,通过专用接口连接数据库的各个组件部分的关系如图3-15。专用接口是针对具体的数据库管理系统设计的,所以通过专用数据库接口可以更快捷地连接相应的数据库,以充分发挥各数据库管理系统的特点,提高访问数据库服务器的效率。,图3-15 通过专用接口连接数据库的各个组件部分的关系,从表中看出,通用和性能是相互矛盾的,要获得较好的数据访问性能,往往根据不同的应用环境选择连接方式,对于小型本地数据库,一般采用ODBC接口进行连接,而对于在网络环境下的大型远程数据库,一般采用专用数据库接口进行连接,以提高系统的可靠性与执行效率。,3.4.5 通用数据库接口和专用数据库接口的比较,3.5 应用实例,实例一:创建ODBC数据源 1. 打开“ODBC数据源管理器”窗口。 2 .创建新的ODBC数据源。 实例二:创建ODBC数据库描述文件,演示,小结,数据库的体系结构主要有以下几种: 集中式数据库系统完全运行在一台计算机中。最初所有数据库系统都是集中式的。随着个算机和局域网的发展,数据库的前端功能不断移向客户机,而后端功能由服务器系统提供。 并行数据库系统由通过高速互连网络连接在一起的多台处理器和多个磁盘构成。并行数据库体系结构包括共享内存、共享磁盘、无共享,以及层次的结构。这些体系结构在可扩展性以及通信速度方面各有千秋。 分布式数据库是局部独立的数据库的集合,它们共享一个公共的模式,并且互相协作处理非

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论