《数据库管理系统new.ppt》由会员分享,可在线阅读,更多相关《数据库管理系统new.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 数据库管理系统4.1数据库管理系统的层次结构4.2 数据库管理系统的运行过程4.3 事务4.3 DBMS 的进程结构4.5 DBMS 的系统结构4.6 DBMS 和第四代应用开发环境4.7 数据目录4.8 数据库物理组织4.1 数据库管理系统的层次结构 数据库管理系统(DBMS)是整个数据库系统的核心。DBMS 最基本的功能是正确、可靠、安全地执行数据库语言。即DBMS 可以看成是数据库语言的一个实现。与一般程序设计语言一样,DBMS 也有编译和解释两种实现方式。图4-1:一个解释执行的RDBMS 的层次结构4.2 数据库管理系统的运行过程 DBMS 是一个有机的整体,应该用动态的观点
2、看待DBMS 各个功能模块。一个应用程序或用户通过DBMS 读取数据库中数据的过程如下所示:1.用户A 向DBMS 发出调用数据库数据的命令。如SELECT 命令。命令中给出了一个关系名和查找条件。2.DBMS 先对命令进行语法检查。通过后进行语义检查和用户存取权限检查。DBMS 读取数据字典,检查是否存在该关系及相应的字段,该用户能否读取它们等。确认语义正确、存取权限合法后便决定执行该命令。否则拒绝执行,返回错误信息。3.DBMS 执行查询优化(要依据数据字典中的信息),并把该命令转换成一串单记录的存取操作序列。4.DBMS 执行存取操作序列(反复执行以下各步,直至结束)。5.DBMS 首先
3、在缓冲区中查找记录,若找到满足条件的记录则转到10,否则转到6。4.2 数据库管理系统的运行过程6.DBMS 查看存储模式,决定从哪个文件,用什么方式读取哪个物理记录。7.DBMS 根据6的结果,向操作系统发出读取记录的命令。8.操作系统执行读数据的有关操作。9.操作系统将数据从数据库的存储区送至系统缓冲区。10.DBMS 根据查询命令和数据字典的内容导出用户所要读取的记录格式。11.DBMS 将数据记录从系统缓冲区传送到程序A 的用户工作区。12.DBMS 将执行状态信息,如成功读取或不成功的错误指示、例外状态信息等,返回给应用程序A。4.3 事 务1.事务的定义 所谓事务(Transact
4、ion)是用户定义的一个操作序列,这些操作是一个不可分割的工作单位,即要么全做要么全不做,(all or nothing)。事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,则由DBMS 按缺省规定自动划分事务。在SQL 语言中,定义事务的语句有三条:BEGIN TRANSACTIONCOMMITROLLBACK4.3 事 务1.事务的定义(续)事务通常是以BEGIN TRANSACTION 开始,以COMMIT 或ROLLBACK 结束。COMMIT 表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。ROLLBAC
5、K 表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始时的状态。这里的操作指对数据库的更新操作。4.3 事 务1.事务的性质 事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID 特性。1原子性 事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。2一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态
6、。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始时的一致状态。4.3 事 务1.事务的性质(续)3隔离性一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。4持续性持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。4.4 DBMS 的进程结构 应用程序通过DBMS,DBMS 通过OS,与数据库中的数据打交道。根据三者的关系,一般有下述四种进程组织
7、方案:1.N 方案:DBMS 与应用程序相融合2.在这种方案中,N 个DB 用户仅需 N 个进程,DBMS 作为应用程序的子程序被连入应用程序中,成为应用程序的一部分,因此这种方案也称为连入式方案。2.2N 方案:一个用户进程对应一个DBMS 进程 每个用户进程均有一个DBMS 进程为之服务,我们称这种DBMS 进程为影子(Shadow)进程。在这种方案中,有N 个用户进程就要启动N 个DBMS 进程(共2N 个进程),因此这种进程结构方案称为2N 方案。4.4 DBMS 的进程结构3.N+1 方案:一个DBMS 进程对应所有用户进程 进程结构的另一种组织方式是整个DBMS 仅使用一个进程,该
8、进程的行为类似于一个服务器(Server)。多个数据库用户向Server 发消息以申请数据库服务。Server 要用自己的机制来调度这些申请,以支持一个多任务的数据库系统。由于N 个用户仅需要一个DBMS 进程,因此我们称这种进程结构方案为N+1 方案。4.N+M 方案:M 个DBMS 进程对应 N 个用户进程4.5 DBMS 和第四代应用开发环境 应该指出,DBMS 本身并不能全部解决数据管理的问题,DBMS 的设计目标也不是要解决所有问题。这些问题包括数据的存储、访问、处理和表示等等。DBMS 提供了丰富的数据管理的基本功能。以DBMS 这些功能为核心,可以进一步开发高层的软件系统,如报表
9、书写、屏幕表格软件、菜单生成系统、图形显示系统等等,从而构成了一组内部相互联系的DBMS 家族,为用户提供了一个良好的第四代应用开发环境。这些软件系统拓广了数据库的应用领域,大大提高了应用开发的生产率。4.6 DBMS 的系统结构1.分时系统环境下的集中式系统结构2.网络环境下的客户/服务器结构3.物理上分布逻辑上集中的分布式数据库结构4.物理上分布、逻辑上分布的分布式数据库结构4.7 数据目录 数据目录(Catalog 或Directory)是一组关于数据的数据,也称为元数据(meta-data)DBMS 的功能是管理大量的、共享的、持久的数据。有关这些数据的定义和描述也需要长期保存在系统种
10、。关系数据库中数据字典的组织通常与数据本身的组织相同。数据字典按不同的内容在逻辑上组织为若干张表或视图。数据字典的特点是数据量比较小(与数据本身比)、使用频繁,因为任何数据库操作都要参照数据字典的内容。4.7 数据库物理组织 数据库是大量数据的有结构的综合性的集合。如何将这样一个庞大的数据集合以最优的形式组织起来存放在外存上是一个非常重要的问题。所谓“优”应包括两方面:一是存储效率高,节省存储空间;二是存取效率高,速度快,代价小。数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。所以在数据库物理组织中,基本的问题是如何设计文件组织或者利用操作系统提供的基本的文件组织方法。数据
11、库系统是文件系统的发展。文件系统中每个文件存储同质实体的数据,各文件是孤立的,没有体现实体之间的联系。数据库系统中数据的物理组织必须体现实体之间的联系,支持数据库的逻辑结构-各种数据模型。因此数据库中要存储四个方面的数据:(1)数据描述。即数据外模式、模式、内模式。(2)数据本身。(3)数据之间的联系。(4)存取路径。4.7 数据库物理组织 上述这四个方面的数据内容都要采用一定的文件组织方式组织、存储起来。数据字典(DD)的组织数据字典按不同的内容在逻辑上组织为若干张表(图11.9),在物理上就对应若干文件而不是一个文件。由于每个文件中存放数据量不大,可简单地用顺序文件来组织。数据及数据联系的
12、组织 关于数据自身的组织,DBMS 可以根据数据和处理的要求自己设计文件结构,也可以从操作系统提供的文件结构中选择合适的加以实现。目前,操作系统提供的常用文件结构有:顺序文件、索引文件、索引顺序文件、HASH 文件(杂凑文件)和B 树类文件等等。数据库中数据组织与数据之间联系是紧密结合的。在数据的组织和存储中必须直接或间接、显示或隐含地体现数据之间的联系,这是数据库物理组织中主要考虑和设计的内容。4.N+M 方案:M 个DBMS 进程对应 N 个用户进程 N+M方案采用 M 个DBMS 进程为 N 个用户进程提供服务(一般 MN)。N+M方案基于的指导思想是:用户进程可能并不总是同时提出数据库
13、请求,一个用户一个DBMS 进程的方案太浪费了,几个用户轮流使用一个DBMS 服务进程也许会节约一些。在该方案中,DBMS 进程不负责多任务调度,同时每个用户进程也不固定地对应于某个DBMS 进程。用户的数据库请求将会被动态地分配给某个DBMS 进程来处理(例如最不忙的那个DBMS 进程)。DBMS 进程的分派由分派程序完成。分派程序可以是一个单独的后台进程,也可以将其代码连入用户程序(APi)中。分派程序通过SGA 管理用户的数据库请求队列,并分配某个DBMS 进程服务于某用户进程。分派程序还应监测整个DBMS 的运行状况并根据用户请求队列的情况动态增减DBMS 进程的个数。如果用户进程增加,则DBMS进程的个数也动态地增多,但后者一般总小于前者(即 MN)。N+M方案是2N 方案的一种改进,提高了内存资源的利用率,但它没有克服2N 方案的本质弱点。此外,分派程序给系统增加了开销并可能成为瓶颈,而且DBMS 进程动态增减的开销亦很大。返回
限制150内