《数据厍设计与开发》讲义 3.3数据库应用系统体系结构 数据库应用系统的发展经历了主机/终端模式 客户机/服务器模式之后,随着 Internet的发 展,又出现了浏览器/服务器模式,以及分布 式数据库体系结构 3.3.1简介 3.3.2客户机/服务器结构 3.3.3C/S结构的数据库管理系统 3.3.4C/S结构的数据库系统 3.3.5浏览器/服务器模式 3.3.6分布式数据库体系结构 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 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分布式数据库体系结构
《数据厍设计与开发》讲义 3.3.1简介 早期数据库系统是集中式的体系结构,所有访 问数据库的应用程序以及用户终端发送并接受 数据的通信都在一个宿主计算机(UNIX大型或 小型机)上运行。 ·随着PC机的兴起,单用户的DBMS出现,DBMS的功 能和数据库应用功能结合在一个应用程序中 数据库应用处理用户输入和屏幕输出的同时, 也处理对数据库中数据的访问 ·基于PC的单用户DBMS不支持事务处理和回退恢 复,不能保证数据的安全和完整,但查询速度 并不一定慢。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.1简介 • 早期数据库系统是集中式的体系结构,所有访 问数据库的应用程序以及用户终端发送并接受 数据的通信都在一个宿主计算机(UNIX大型或 小型机)上运行。 • 随着PC机的兴起,单用户的DBMS出现,DBMS的功 能和数据库应用功能结合在一个应用程序中, 数据库应用处理用户输入和屏幕输出的同时, 也处理对数据库中数据的访问。 • 基于PC的单用户DBMS不支持事务处理和回退恢 复,不能保证数据的安全和完整,但查询速度 并不一定慢
《数据厍设计与开发》讲义 3.3.1简介 基于PC的多用户DBMS建立在文件服务器前提下,客户 端运行服务器的应用程序,文件服务器将客户申请的 文件传送给客户机器,数据处理过程在客户机器上进 行。这种方式网络传输的是数据文件,传输量大,数 据锁定在解决并发时存在困难 事务处理的性质使数据库系统从集中式、PC系统过渡 到客户机/服务器系统,并使分布式系统成为可能 ·客户机/服务器系统最本质的特点在于:客户PC运行数 据库应用(界面处理),数据库服务器运行全部或大部 分DBMS(数据处理)。服务器运行SQL,将查询结果传送 到客户端,减少了网络信息的传输,系统采用数据锁定、 事务技术、存储过程等数据库技术保证数据完整一致 准确。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.1简介 • 基于PC的多用户DBMS建立在文件服务器前提下,客户 端运行服务器的应用程序,文件服务器将客户申请的 文件传送给客户机器,数据处理过程在客户机器上进 行。这种方式网络传输的是数据文件,传输量大,数 据锁定在解决并发时存在困难。 • 事务处理的性质使数据库系统从集中式、PC系统过渡 到客户机/服务器系统,并使分布式系统成为可能。 • 客户机/服务器系统最本质的特点在于:客户PC运行数 据库应用(界面处理),数据库服务器运行全部或大部 分DBMS(数据处理)。服务器运行SQL,将查询结果传送 到客户端,减少了网络信息的传输,系统采用数据锁定、 事务技术、存储过程等数据库技术保证数据完整一致 准确
《数据厍设计与开发》讲义 3.3.2客户机/服务器结构 客户机/服务器( Clien/ Server)结构可以 指硬件结构,也可以指软件结构 硬件结构指某项任务在两台或多台计算机之 间进行分配,客户机来运行提供用户接口和 前端处理的应用程序,服务器提供可供客户 机使用的各种资源和服务 客户机在完成某一项任务时,通常要利用 服务器上的共享资源和服务器提供的服务。 在一个客户机/服务器体系结构中可以有多 台客户机、多台服务器 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.2客户机/服务器结构 • 客户机/服务器(Clien/Server)结构可以 指硬件结构,也可以指软件结构。 –硬件结构指某项任务在两台或多台计算机之 间进行分配,客户机来运行提供用户接口和 前端处理的应用程序,服务器提供可供客户 机使用的各种资源和服务。 客户机在完成某一项任务时,通常要利用 服务器上的共享资源和服务器提供的服务。 在一个客户机/服务器体系结构中可以有多 台客户机、多台服务器
《数据厍设计与开发》讲义 3.3.2客户机/服务器结构 软件结构指把一个应用系统按照逻辑功能分 成四个组成部分:用户界面、应用表示逻辑 事务逻辑、数据管理,按照其相对角色的不 同区分为客户端和服务器端软件。客户软件 能够请求服务器软件的服务。客户软件和服 务器软件可以分布在网络中不同的计算机节 点上,也可以放置在同一台计算机上。 应用程序 用户应用事务数据管 终端}界面逻辑逻辑理卜数据库 GUI 3GL ORACLE 4GL DB2 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.2客户机/服务器结构 –软件结构指把一个应用系统按照逻辑功能分 成四个组成部分:用户界面、应用表示逻辑、 事务逻辑、数据管理,按照其相对角色的不 同区分为客户端和服务器端软件。客户软件 能够请求服务器软件的服务。客户软件和服 务器软件可以分布在网络中不同的计算机节 点上,也可以放置在同一台计算机上。 终端 数据库 应用程序 用户 界面 应用 逻辑 事务 逻辑 数据管 理 GUI 3GL 4GL SQL ORACLE DB2
《数据厍设计与开发》讲义 3.3.2客户机/服务器结构 常见C/S体系有两层结构和三层结构。 两层C/S结构的基本工作方式:客户程序运行用户的应 用程序,向数据库服务器发送SQL请求,数据库服务器 接受客户机的请求,并将处理结果返回客户端 个功能强大的客户应用开发语言和一个多用途的 用于传送客户请求到服务器的机构是整个两层结构的 核心。在一个数据存取事件中,数据由服务器实施存 储和访问,数据库引擎负责处理从客户端发来的请求 把SQL语言从客户机传送到服务器上必须能识别服务 的标识符或由一个应用程序接口来完成,还必须知道 服务器的位置、数据组织形式以及数据如何定义。在 服务器中,请求将得到存储逻辑和处理的进一步优化, 例如使用权限、完整性、并发控制等 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.2客户机/服务器结构 • 常见C/S体系有两层结构和三层结构。 • 两层C/S结构的基本工作方式:客户程序运行用户的应 用程序,向数据库服务器发送SQL请求,数据库服务器 接受客户机的请求,并将处理结果返回客户端。 一个功能强大的客户应用开发语言和一个多用途的 用于传送客户请求到服务器的机构是整个两层结构的 核心。在一个数据存取事件中,数据由服务器实施存 储和访问,数据库引擎负责处理从客户端发来的请求。 把SQL语言从客户机传送到服务器上必须能识别服务 的标识符或由一个应用程序接口来完成,还必须知道 服务器的位置、数据组织形式以及数据如何定义。在 服务器中,请求将得到存储逻辑和处理的进一步优化, 例如使用权限、完整性、并发控制等
《数据厍设计与开发》讲义 3.3.2客户机/服务器结构 两层C/S结构具体又分为两种实现方式: 种是客户端完成界面显示和应用逻辑,服务器完 成事务逻辑和数据管理。这种情况是以客户为中心 的 这种方式下,表示部分和应用逻辑耦合紧密,比 较适用于应用相对简单、数据访问量不大的情况 另一种以服务器为中心,一些重要的应用逻辑放在 服务器上,充分利用服务器的计算能力,通常以存 储过程和触发器出现,减少网络压力,提高系统性 能 这种方式下,存储程序依赖于特定数据库,不同 数据库间的移植不太容易 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.2客户机/服务器结构 • 两层C/S结构具体又分为两种实现方式: –一种是客户端完成界面显示和应用逻辑,服务器完 成事务逻辑和数据管理。这种情况是以客户为中心 的。 这种方式下,表示部分和应用逻辑耦合紧密,比 较适用于应用相对简单、数据访问量不大的情况。 –另一种以服务器为中心,一些重要的应用逻辑放在 服务器上,充分利用服务器的计算能力,通常以存 储过程和触发器出现,减少网络压力,提高系统性 能。 这种方式下,存储程序依赖于特定数据库,不同 数据库间的移植不太容易
《数据厍设计与开发》讲义 3.3.2客户机/服务器结构 把两层结构中服务器部分和客户端部分的应用 单独划分出来,即形成三层C/S结构。 ·在X/ Open dtp标准中描述了三层C/S模型:由 应用程序定义各种操作来执行完成特定任务, 它定乂事务的范围并把服务要求提交给事务管 理器、通信管理器及一个或多个资源管理器。 资源管理器提供应用程序的事务间的服务, 通常是一个数据库 事务管理器提供事务的服务。如果事务跨越 多个平台,那么其中一个的事务管理器为该事 务的事务管理器。 通信管理器提供通信服务的接口以及管理应 用层协议 家邮电大学物学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.2客户机/服务器结构 • 把两层结构中服务器部分和客户端部分的应用 单独划分出来,即形成三层C/S结构。 • 在X/Open DTP标准中描述了三层C/S模型:由 应用程序定义各种操作来执行完成特定任务, 它定义事务的范围并把服务要求提交给事务管 理器、通信管理器及一个或多个资源管理器。 资源管理器提供应用程序的事务间的服务, 通常是一个数据库。 事务管理器提供事务的服务。如果事务跨越 多个平台,那么其中一个的事务管理器为该事 务的事务管理器。 通信管理器提供通信服务的接口以及管理应 用层协议
《数据厍设计与开发》讲义 3.3.2客户机/服务器结构 ·数据库应用的三层C/S结构将应用分成表示部 分、应用逻辑(或称商业逻辑)、数据访问部分 三层C/S结构使各部分相互独立并单独实现, 分别称为客户、应用服务器和数据库服务器。 三层C/S结构中数据在发送到网络之前由功能 服务器加以过滤,网络流量会减少,另外客户 端并不是直接同数据库打交道,而是通过中间 层的统一调用来实现,在灵活性和独立性方面 较好,适合于不同数据库的互联 客户1 应用服务器数据库服务器数据库 客户N 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.2客户机/服务器结构 • 数据库应用的三层C/S结构将应用分成表示部 分、应用逻辑(或称商业逻辑)、数据访问部分。 三层C/S结构使各部分相互独立并单独实现, 分别称为客户、应用服务器和数据库服务器。 • 三层C/S结构中数据在发送到网络之前由功能 服务器加以过滤,网络流量会减少,另外客户 端并不是直接同数据库打交道,而是通过中间 层的统一调用来实现,在灵活性和独立性方面 较好,适合于不同数据库的互联。 客户1 应用服务器 数据库服务器 数据库 客户N …
《数据厍设计与开发》讲义 3.3.2客户机/服务器结构 基于三层模型的应用系统: 应用逻辑层:最普遍的处理方案是使用存储过程和 触发器。从客户机角度看存储过程是一个单独的事 件,可以在服务器上执行复杂的操作,事务的完成 或取消最终控制权交给用户;使用存储过程可避免 通过网络传送SL语句,也不必将数据通过网络传 回来进行处理。 数据层:定义正确的数据表和选择合适的存储方案, 优化数据库的性能,使数据库快速、可靠、准确的 响应用户的请求。如建立索引,优化设置 表示层:表示层主要承担人机界面的任务 应用系统的性能优化设计是一项系统的工作,三层模型 为系统的开放性扩充和性能优化提供了很大的空间和 灵活性,但单纯的三层结构并不一定是最优的 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 3.3.2客户机/服务器结构 • 基于三层模型的应用系统: –应用逻辑层:最普遍的处理方案是使用存储过程和 触发器。从客户机角度看存储过程是一个单独的事 件,可以在服务器上执行复杂的操作,事务的完成 或取消最终控制权交给用户;使用存储过程可避免 通过网络传送SQL语句,也不必将数据通过网络传 回来进行处理。 –数据层:定义正确的数据表和选择合适的存储方案, 优化数据库的性能,使数据库快速、可靠、准确的 响应用户的请求。如建立索引,优化设置。 –表示层:表示层主要承担人机界面的任务 • 应用系统的性能优化设计是一项系统的工作,三层模型 为系统的开放性扩充和性能优化提供了很大的空间和 灵活性,但单纯的三层结构并不一定是最优的