{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3

上传人:卓****库 文档编号:141184071 上传时间:2020-08-05 格式:PPTX 页数:41 大小:124.12KB
返回 下载 相关 举报
{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3_第1页
第1页 / 共41页
{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3_第2页
第2页 / 共41页
{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3_第3页
第3页 / 共41页
{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3_第4页
第4页 / 共41页
{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3》由会员分享,可在线阅读,更多相关《{工程设计管理}某市邮电大学软件工程研究生的课程数据库设计开发3(41页珍藏版)》请在金锄头文库上搜索。

1、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.05,3.3.1简介,早期数据库系统是集中式的体系结构,所有访问数据库的应用程序以及用户终端发送并接受数据的通信都在一个宿主计算机(UNIX大型或小型机)上运行。 随着PC机的兴起,单用户的DBMS出现,DBM

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

3、质的特点在于:客户PC运行数据库应用(界面处理),数据库服务器运行全部或大部分DBMS(数据处理)。服务器运行SQL,将查询结果传送到客户端,减少了网络信息的传输,系统采用数据锁定、事务技术、存储过程等数据库技术保证数据完整一致准确。,郭文明 2003.06.05,3.3.2客户机/服务器结构,客户机/服务器(Clien/Server)结构可以指硬件结构,也可以指软件结构。 硬件结构指某项任务在两台或多台计算机之间进行分配,客户机来运行提供用户接口和前端处理的应用程序,服务器提供可供客户机使用的各种资源和服务。 客户机在完成某一项任务时,通常要利用服务器上的共享资源和服务器提供的服务。在一个客

4、户机/服务器体系结构中可以有多台客户机、多台服务器。,郭文明 2003.06.05,3.3.2客户机/服务器结构,软件结构指把一个应用系统按照逻辑功能分成四个组成部分:用户界面、应用表示逻辑、事务逻辑、数据管理,按照其相对角色的不同区分为客户端和服务器端软件。客户软件能够请求服务器软件的服务。客户软件和服务器软件可以分布在网络中不同的计算机节点上,也可以放置在同一台计算机上。,终端,数据库,郭文明 2003.06.05,3.3.2客户机/服务器结构,常见C/S体系有两层结构和三层结构。 两层C/S结构的基本工作方式:客户程序运行用户的应用程序,向数据库服务器发送SQL请求,数据库服务器接受客户

5、机的请求,并将处理结果返回客户端。 一个功能强大的客户应用开发语言和一个多用途的用于传送客户请求到服务器的机构是整个两层结构的核心。在一个数据存取事件中,数据由服务器实施存储和访问,数据库引擎负责处理从客户端发来的请求。 把SQL语言从客户机传送到服务器上必须能识别服务的标识符或由一个应用程序接口来完成,还必须知道服务器的位置、数据组织形式以及数据如何定义。在服务器中,请求将得到存储逻辑和处理的进一步优化,例如使用权限、完整性、并发控制等。,郭文明 2003.06.05,3.3.2客户机/服务器结构,两层C/S结构具体又分为两种实现方式: 一种是客户端完成界面显示和应用逻辑,服务器完成事务逻辑

6、和数据管理。这种情况是以客户为中心的。 这种方式下,表示部分和应用逻辑耦合紧密,比较适用于应用相对简单、数据访问量不大的情况。 另一种以服务器为中心,一些重要的应用逻辑放在服务器上,充分利用服务器的计算能力,通常以存储过程和触发器出现,减少网络压力,提高系统性能。 这种方式下,存储程序依赖于特定数据库,不同数据库间的移植不太容易。,郭文明 2003.06.05,3.3.2客户机/服务器结构,把两层结构中服务器部分和客户端部分的应用单独划分出来,即形成三层C/S结构。 在X/Open DTP标准中描述了三层C/S模型:由应用程序定义各种操作来执行完成特定任务,它定义事务的范围并把服务要求提交给事

7、务管理器、通信管理器及一个或多个资源管理器。 资源管理器提供应用程序的事务间的服务,通常是一个数据库。 事务管理器提供事务的服务。如果事务跨越多个平台,那么其中一个的事务管理器为该事务的事务管理器。 通信管理器提供通信服务的接口以及管理应用层协议。,郭文明 2003.06.05,3.3.2客户机/服务器结构,数据库应用的三层C/S结构将应用分成表示部分、应用逻辑(或称商业逻辑)、数据访问部分。三层C/S结构使各部分相互独立并单独实现,分别称为客户、应用服务器和数据库服务器。 三层C/S结构中数据在发送到网络之前由功能服务器加以过滤,网络流量会减少,另外客户端并不是直接同数据库打交道,而是通过中

8、间层的统一调用来实现,在灵活性和独立性方面较好,适合于不同数据库的互联。,客户1,应用服务器,数据库,数据库服务器,客户N,郭文明 2003.06.05,3.3.2客户机/服务器结构,基于三层模型的应用系统: 应用逻辑层:最普遍的处理方案是使用存储过程和触发器。从客户机角度看存储过程是一个单独的事件,可以在服务器上执行复杂的操作,事务的完成或取消最终控制权交给用户;使用存储过程可避免通过网络传送SQL语句,也不必将数据通过网络传回来进行处理。 数据层:定义正确的数据表和选择合适的存储方案,优化数据库的性能,使数据库快速、可靠、准确的响应用户的请求。如建立索引,优化设置。 表示层:表示层主要承担

9、人机界面的任务 应用系统的性能优化设计是一项系统的工作,三层模型为系统的开放性扩充和性能优化提供了很大的空间和灵活性,但单纯的三层结构并不一定是最优的。,郭文明 2003.06.05,3.3.3 C/S结构的数据库管理系统,C/S数据库管理系统通常通过高性能的锁定、事务提交、参照完整性、存储过程和触发器等数据管理技术实现多用户下良好的数据完整性和并发控制。 C/S结构数据库系统的分层模型,应用程序,数据库API,网络/通信接口,网络/通信接口,数据管理,客户管理,DBMS,存储文件,客户端,服务器,数据/网络协议,郭文明 2003.06.05,3.3.3 C/S结构的数据库管理系统,客户端网络

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

11、库连接以及提交语句、返回结果和处理错误。客户端数据管理层实际上就是开发人员或应用程序使用的数据库API。如DB_Library(Microsoft、Sybase)、OCI(Oracle)和SQLRuntime (IBM).,郭文明 2003.06.05,3.3.3 C/S结构的数据库管理系统,服务器端的客户管理:客户管理程序的作用是协调客户端的通信要求,为每个客户联系建立合法的数据通信渠道,为在网络上传送而使信息格式化,管理多种客户请求线程。 服务器端的数据管理:数据管理程序处理每个客户的数据服务请求,验证和解析SQL请求,优化数据操作,生成存取计划,建立不同形式的锁控制并发,对数据库中数据的

12、访问(存取计划)。 客户对数据库的访问可以理解为:服务器端正确解析客户发出的SQL请求,并作出回应或发回出错信息。,郭文明 2003.06.05,3.3.3 C/S结构的数据库管理系统,基于不同DBMS的差异和对不同SQL语言版本的支持,客户应用必须考虑采用何种数据库访问策略:选择开发客户应用的开发环境和选择适当的应用程序接口(API)。 所有的客户机服务器数据库厂商都有自己支持的程序设计工具箱,他们可以独立建立定制的客户应用。特定于专门数据库的设计工具,提供了对本数据库最完美的支持,但可能忽略对其他数据库的全力支持,选择第三方厂商的开发应用集成环境,是对该空隙的有力补充,他们往往注意数据库共

13、性的同时,通过各种技术为异质数据库提供不同支持,如ODBC。,郭文明 2003.06.05,3.3.3 C/S结构的数据库管理系统,为了使客户应用能同时访问多种数据库,(既包括网络数据库,又包括单机数据库),应用开发环境所采用的技术往往有两种途径: 支持诸如ODBC这样的公共数据库接口API 专门设计同时驱动多种安装在客户端的数据库驱动程序管理层。 许多应用开发集成环境同时采用这两种途径,以便提高产品的通用性。如Delphi的BDE(Borland Database Engine)。,郭文明 2003.06.05,3.3.4 C/S结构的数据库系统,C/S系统的并发控制:C/S系统必须提供封锁

14、机制,事务编程要尽可能避免死锁,并允许死锁的发生及提供解决死锁的方案,保证并发执行的同时维护数据的一致。封锁机制可以由DBMS自动控制,也可以通过显式加锁完成。 C/S系统的完整性约束:在C/S系统中,数据完整性约束是在服务器上定义,并由服务器来检查约束,这样能方便地实现对数据库的完整性和一致性控制。如果由客户机检查约束,检查逻辑必须包含在每一个应用程序中,既浪费又容易出错。,郭文明 2003.06.05,3.3.4 C/S结构的数据库系统,C/S系统的安全性控制:DBMS通常运行在后台服务器上,自身已具备安全管理功能。应用程序运行在前端客户机上,安全性问题由开发者自己设计。如何将后台DBMS

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

16、制外,DBMS也具有严格的用户授权管理机制。前端应用程序的安全机制与DBMS的安全机制统一起来,可以增强安全保密功能。 具体做法:从功能出发将整个系统细分为若干个可分配的最小权限单元,这些权限即对数据库中所涉及的表、视图的增删改查。然后运用角色或工作组的概念,结合各种系统使用人员的工作性质,为系统创建各种操作等级,并为每个等级相应地授予不同的权限。用户等级及每种等级所对应的默认权限组合建立对照字典,管理员可以方便地增加等级或改变某一等级的默认权限。 在统一管理下,既方便又可防止用户绕过应用逻辑直接操作数据库的可能。,郭文明 2003.06.05,3.3.4 C/S结构的数据库系统,智能型日志:DBMS的日志系统是为了保障事务故障、系统故障和介质故障的恢复。智能型日志是数据库应用系统设计的为了跟踪系统使用情况的记录,相当于飞机的黑匣子。在系统中,智能型日志将记录:自某用户登录时起,到其退出系统时止,这段时间中执行的所有操作,包括登录失败操作,具体内容有执行某操作的用户名、执行操作的计算机IP地址、操作类型、操作对象、执行时间等。

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

当前位置:首页 > 商业/管理/HR > 企业文档

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