第3章数据库系统体系结构 宁可、吴菁、胡海编著 教材:数据库技术及应用2006年4月
第3章 数据库系统体系结构 教材:数据库技术及应用 2006年4月 宁可、吴菁、胡海编著
本章要点 ·集中式系统 客户/服务器系统 分布式系统 数据库接口
本章要点 • 集中式系统 • 客户/服务器系统 • 分布式系统 • 数据库接口
目录 1集中式系统 32客户/服务器系统 321客户/服务器结构 322N层客户机-服务器结构 33分布式系统 331分布式系统的基本概念 332分布式数据库系统的主要特点 34数据库接口 341通过ODBC连接数据库 342通过JDBC连接数据库 343通过 OLE DB连接数据库 344通过专用接口连接数据库 345通用数据库接口和专用数据库接口的比较 35应用实例 小结
目 录 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 应用实例 小结
31集中式系统 集中式系统是指运行在一台计算机上,不与其它计算机系统交互的 数据库系统。这些主要表现在运行在个人计算机上的单用户数据 库系统和运行在大型主机上的高性能数据库系统。 对于个人计算机上的单用户数据库系统来说,其结构简单,容易设 计、构造、操作和维护,但数据处理能力有限,而集中式大型机 系统则一般常用于大规模的批处理系统,这些应用常见于银行业、 保险业等。 主机 人计算机 终端 图3-1:单用户数据库系统 图3-2:高性能数据库系统
3.1 集中式系统 集中式系统是指运行在一台计算机上,不与其它计算机系统交互的 数据库系统。这些主要表现在运行在个人计算机上的单用户数据 库系统和运行在大型主机上的高性能数据库系统。 对于个人计算机上的单用户数据库系统来说,其结构简单,容易设 计、构造、操作和维护,但数据处理能力有限,而集中式大型机 系统则一般常用于大规模的批处理系统,这些应用常见于银行业、 保险业等。 图3-2:高性能数据库系统。 主机 终端 图3-1:单用户数据库系统 个人计算机
32客户/服务器系统 随着计算机网络和计算机软硬件技术的发展,计算机的性能价格 比越来越高,使原集中式系统的终端变为个人计算机,而相应的 由原集中式系统中主机完成的任务也有所划分,即由原集中式系 统中主机完成的用户界面功能现在由个人计算机来处理,集中式 系统变为服务器系统,以满足客户系统产生的请求,客户/服务器 系统一般结构如图3-3际示。 服务器 在该体系结构中,数 据的存储和管理通常由 服务器来承担,此服务 器称为数据库服务器。 客户机 客户机 客户机 图3-3客户服务器系统一般结构
3.2 客户/服务器系统 随着计算机网络和计算机软硬件技术的发展,计算机的性能价格 比越来越高,使原集中式系统的终端变为个人计算机,而相应的 由原集中式系统中主机完成的任务也有所划分,即由原集中式系 统中主机完成的用户界面功能现在由个人计算机来处理,集中式 系统变为服务器系统,以满足客户系统产生的请求,客户/服务器 系统一般结构如图3-3所示。 服务器 客户机 客户机 客户机 客户机 图3-3 客户/服务器系统一般结构 网络 在该体系结构中,数 据的存储和管理通常由 服务器来承担,此服务 器称为数据库服务器
3.2.1客户/服务器结构 对于数据库系统而言,客户/服务器系统可将数据库功能大致分为两个 部分:前端客户机系统和后端服务器系统。前端客户机系统主要包括图 形用户界面工具、表格及报表生成和书写工具等;后端服务器系统负责 数据的存取和控制,包括故障恢复和并发控制等。从功能来说,客户/服 务器系统的功能划分如图3-4所示。 前端客户机 表格用户界面 SQL用户界面 图形化界面 后端服务器 数据库引擎 图3-4客户服务器系统的功能划分
3.2.1 客户/服务器结构 对于数据库系统而言,客户/服务器系统可将数据库功能大致分为两个 部分:前端客户机系统和后端服务器系统。前端客户机系统主要包括图 形用户界面工具、表格及报表生成和书写工具等;后端服务器系统负责 数据的存取和控制,包括故障恢复和并发控制等。从功能来说,客户/服 务器系统的功能划分如图3-4所示。 表格用户界面 SQL用户界面 图形化界面 数据库引擎 前端客户机 系统 后端服务器 系统 接口 图3-4 客户/服务器系统的功能划分
客户/服务器系统对数据的般处理过程,如图3-5所示,请求和 收数据信息的具体描述如下: 1)用户在客户端请求数据查询。 (2)请求被翻译成SQ语言。 3)SQL请求通过网络被传送到服务器端。 (4)数据库服务器在存储数据的计算机上进行检索。 (5)在服务器上检索得到的结果通过网络传递给客户端。 (6)结果在客户端呈现给用户。 服务请求 客户机 服务器 图3-5客户/服务器系统对数据的处理过程
客户/服务器系统对数据的一般处理过程,如图3-5所示,请求和接 收数据信息的具体描述如下: (1)用户在客户端请求数据查询。 (2)请求被翻译成SQL语言。 (3)SQL请求通过网络被传送到服务器端。 (4)数据库服务器在存储数据的计算机上进行检索。 (5)在服务器上检索得到的结果通过网络传递给客户端。 (6)结果在客户端呈现给用户。 客户机 服务器 服务请求 响应 图3-5 客户/服务器系统对数据的处理过程
322N层客户/服务器结构 一个信息系统应用程序通常可以分成数据层、商业逻辑层和视图层, 这种客户/服务器结构可称为三层结构,图3-6说明了这三层间的相互作 用,其中用户层(视图层)是作为商业逻辑层的一个客户,而商业逻辑 层作为数据层的一个客户。 信息请求 数据查询 用户请求 视图层 商业逻辑层 数据层 请求响应 查询响应 图3-6三层结构间的相互作用
3.2.2 N层客户/服务器结构 一个信息系统应用程序通常可以分成数据层、商业逻辑层和视图层, 这种客户/服务器结构可称为三层结构,图3-6说明了这三层间的相互作 用,其中用户层(视图层)是作为商业逻辑层的一个客户,而商业逻辑 层作为数据层的一个客户。 图3-6 三层结构间的相互作用 用户请求 视图层 商业逻辑层 数据层 信息请求 请求响应 数据查询 查询响应
上述三层客户/服务器结构的各层所包含内容及功能分别是 数据层 在客户机-服务器结构中包含数据库的层,该层主要管理存储的数 据,通常由一个或多个数据库实现 2.商业逻辑层 在客户机-服务器结构中包含应用系统的程序逻辑实现的部分,该 层实现商务处理的规则和程序 3.视图层 在客户机-服务器结构中包含用户界面和其他访问系统的组件的部 分,该层主要用于接收用户的输入、格式化并显示处理结果。 相对而言,三层结构的应用软件在网络上更容易分布和复制。层间 的交互总是请求或响应,这使层次与层次之间相对独立。因此它们可 以放在不同的计算机系统中,用网络连接和中间件作为粘结剂将它们 绑定在一起形成一个单独的应用系统
上述三层客户/服务器结构的各层所包含内容及功能分别是: 1.数据层 在客户机-服务器结构中包含数据库的层,该层主要管理存储的数 据,通常由一个或多个数据库实现。 2. 商业逻辑层 在客户机-服务器结构中包含应用系统的程序逻辑实现的部分,该 层实现商务处理的规则和程序。 3. 视图层 在客户机-服务器结构中包含用户界面和其他访问系统的组件的部 分,该层主要用于接收用户的输入、格式化并显示处理结果。 相对而言,三层结构的应用软件在网络上更容易分布和复制。层间 的交互总是请求或响应,这使层次与层次之间相对独立。因此它们可 以放在不同的计算机系统中,用网络连接和中间件作为粘结剂将它们 绑定在一起形成一个单独的应用系统
33分布式系统 计算机A 计算机B 完成Wb 任务W 图3-12任务W由W和Wb组成的分布式处理图 计算机网络化使计算机资源得到垬亨,这些资源包括软件资源和硬件资源,这使 得现代信息系统的部件或功能通常可分布于多个计算机系统和不同的地理位置上, 这种将部件或功能分布到不同计算机系统和不同位置的方法一般称为分布式计算或 分布式处理 在分布式计算( Distributed Computing)环境中,一项计算处理任务可被分成 若干部分,对相应数据(通常是来自于网络中不同计算机的分布式数据)的处理也 不是由一台计算机完成,而是多台计算机协作完成的。如图3-12所示,一项任务W 由a和Wb组成。而Wa和Wb分别在计算机A和计算机B上完成
3.3 分布式系统 计算机网络化使计算机资源得到共享,这些资源包括软件资源和硬件资源,这使 得现代信息系统的部件或功能通常可分布于多个计算机系统和不同的地理位置上, 这种将部件或功能分布到不同计算机系统和不同位置的方法一般称为分布式计算或 分布式处理。 在分布式计算(Distributed Computing)环境中,一项计算处理任务可被分成 若干部分,对相应数据(通常是来自于网络中不同计算机的分布式数据)的处理也 不是由一台计算机完成,而是多台计算机协作完成的。如图3-12所示,一项任务W 由Wa和Wb组成。而Wa和Wb分别在计算机A和计算机B上完成。 计算机A 完成Wa 计算机B 完成Wb 任务W 图3-12 任务W由Wa和Wb组成的分布式处理图