数据库管理系统的设计与实现

上传人:桔**** 文档编号:511619546 上传时间:2023-05-05 格式:DOCX 页数:10 大小:17.25KB
返回 下载 相关 举报
数据库管理系统的设计与实现_第1页
第1页 / 共10页
数据库管理系统的设计与实现_第2页
第2页 / 共10页
数据库管理系统的设计与实现_第3页
第3页 / 共10页
数据库管理系统的设计与实现_第4页
第4页 / 共10页
数据库管理系统的设计与实现_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数据库管理系统的设计与实现》由会员分享,可在线阅读,更多相关《数据库管理系统的设计与实现(10页珍藏版)》请在金锄头文库上搜索。

1、数据库管理系统的设计与实现1. DBMS 的目标(1)用户界面友好对一个实用DBMS来说,用户界面的质量直 接影响其生命力.DBMS的用户接口应面向应用,采用适合最终用户 的交互式、表格式、菜单式、窗口式等界面形式,以方便使用和保持 灵活性。一般地说,用户界面应具有可靠性、简单性、灵活性和立即 反馈等特性。( 2)功能完备 DBMS 功能随系统的规模的大小而异。大型 DBMS功能齐全,小型DBMS功能弱一些。DBMS主要功能包括数 据定义、数据库数据存取、事务控制、数据库组织和存储管理、数据 库安全保护等等。我们在下面讨论这些功能的内容.( 3)效率高 系统效率包括三个方面:一是计算机系统内部

2、资源的 使用效率.能充分利用资源(包括存储空间、设备、CPU等),并注意使 各种资源负载均衡以提高整个系统的效率,二是 DBMS 本身的运行 效率.三是用户的生产率。这是指用户学习、使用DBMS和在DBMS 基础上开发的应用系统的效率.2。DBMS的基本功能(1)数据库定义 对数据库的结构进行描述,包括外模式、模式、 内模式的定义;数据库完整性的定义;安全保密定义(如用户口令、 级别、存取权限);存取路径(如索引)的定义。这些定义存储在数据字 典(亦称为系统目录)中,是 DBMS 运行的基本依据。为此,提供数 据定义语言 DDL。(2)数据存取 提供用户对数据的操纵功能 ,实现对数据库数据 的

3、检索、插入、修改和删除。一个好的 DBMS 应该提供功能强易学 易用的数据操纵语言(DML)、方便的操作方式和较高的数据存取效 率。DML有两类:一类是宿主型语言,一类是自含型语言。前者的语 句不能独立使用而必须嵌入某种主语言,如C语言、COBOL语言中 使用。而后者可以独立使用,通常以供终端用户交互使用和批处理方 式两种形式使用。(3)数据库运行管理 这是指 DBMS 运行控制、管理功能。包括 多用户环境下的并发控制、安全性检查和存取权限控制、完整性检查 和执行、数据加密、运行日志的组织管理、事务的管理和自动恢复(保 证事务的正确性),这些功能保证了数据库系统的正常运行。(4)数据组织、存储

4、和管理 DBMS 要分门别类地组织、存储各 类数据,包括数据字典(亦称系统目录)、用户数据、存取路径等等。要 确定以何种文件结构和存取方式在存储级上组织这些数据 ,如何实现 数据之间的联系。数据组织和存储的基本目标是提高存储空间利用 率,选择合适的存取方法确保较高存取(如随机查找、顺序查找、增 删、改)效率。(5)数据库的建立和维护 包括数据库的初始建立、数据的转换、 数据库的转储和恢复、数据库的重组织和重构造以及有性能监测分析 等功能。(6)其它功能 包括DBMS与网络中其它软件系统的通信功能;一个DBMS与另一个DBMS或文件系统的数据转换功能等。3. DBMS 与操作系统通常 DBMS

5、是建立在操作系统环境之上的。根据具体操作系统 的特点,DBMS可以用不同的方法利用操作系统的基本功能来实现 DBMS。一般有下面3类方法:(1)共享模块法(2)分离进程法(3)和操作系统融合4. DBMS 程序模块的组成作为一个庞大的系统软件,DBMS由众多程序模块组成,它们分 别实现 DBMS 复杂而繁多的功能。数据库定义方面 有 DDL 翻译处 理程序(包括外模式、模式、存储模式处理程序)、保密定义处理程序 (如授权定义处理程序)、完整性约束定义处理程序等。这些程序接收 相应的定义,进行语法、语义检查,把它们翻译为内部格式存储在数 据字典中。 DDL 翻译程序还根据模式定义负责建立数据库的

6、框架(即 形式一个空库),等待装入数据。数据库操纵方面 有 DML 处理程序、终端查询语言解释程序、 数据存取程序、数据更新程序等.DML处理程序或终端查询语言解释 程序对用户数据操纵请求进行语法、语义检查,由数据存取或更新程 序完成对数据库的存取操作.数据库运行管理方面 有系统初启程序,负责初始化DBMS、建 立 DBMS 的系统缓冲区、系统工作区、打开数据字典等等。还有安 全性控制、完整性检查、并发控制、事务管理、运行日志管理等程序 模块,在数据库运行过程中监视着对数据库的所有操作,控制管理数 据库资源,处理多用户的并发操作等.它们一方面保证用户事务的正 常运行,一方面保证数据库的安全性和

7、完整性。数据库组织、存储和 管理方面 有文件读写与维护程序、存取路径(如索引)管理程序、 缓冲区管理程序(包括缓冲区读、写、淘汰等模块),这些程序负责维 护数据库的数据和存取路径,提供有效的存取的方法。数据库建立、维护和其它.有数据库初始数据装入程序、转储程 序、恢复程序、数据库重构造程序、数据转换程序、通信程序等.DBMS 的这些组成模块互相联系,互相依赖,共同完成 DBMS 复杂的功能。这些模块之间的联系有一定的层次关系。5。DBMS的层次结构和操作系统一样,可以也应该将 DBMS 划分成若干层次。许多DBMS实际上就是分层实现的。最上层是应用层,位于DBMS核心 之处。它处理的对象包括各

8、种各样的数据库应用 ,如用宿主语言编写 的应用程序、终端用户通过应用接口(如FORMS)发出的事务请求等。 该层是 DBMS 的最终用户和应用程序的界面层。第二层是语言翻译 处理层。它处理的对象是数据库语言,如SQL。提供的数据接口是关 系、视图,即元组的集合。其功能是对数据库语言的各类语句进行语 法分析、视图转换、授权检查、完整性检查、查询优化等。通过对下 层基本模块的调用,生成可执行代码。这些代码的运行,即可完成数 据库语句的功能要求.第三层是数据存取层.该层处理的对象是单个元组。它把上层的 集合操作转化为单记录操作。执行扫描、排序、元组的查找、插入、 修改、删除、封锁等基本操作。完成数据

9、记录的存取、存取路径维护、 并发控制、事务管理等工作。第四层是数据存储层.该层处理的对象是数据页和系统缓冲区, 执行文件的逻辑打开、关闭、读页、写页、缓冲区读和写、页面淘汰 等操作,完成缓冲区管理、内外存交换、外存管理等功能。操作系统 是 DBMS 的基础, 它处理的对象是数据文件的物理块。执行物理文件 的读写操作,保证DBMS对数据逻辑上的读写真实地映射到物理文件 上.操作系统提供的存取原语和基本的存取方法通常作为和DBMS存 储层的接口.6。语言处理语言翻译处理层的任务就是 把用户在这两种方式下提交给 DBMS 的数据库语句转换成对 DBMS 内层可执行的基本存取模块的 调用序列。数据库语

10、言通常包括DDL、DML、DCL三部分语句.DDL语句 处理相对独立和简单.DML和DCL则较为复杂。具体来说,对DDL语句,语言翻译处理层首先把它翻译成内部表 示,然后把它存储在系统的数据字典中。对DCL语句的定义部分, 如安全保密定义、存取权限定义、完整性约束条件定义等处理与 DDL 相同。在 RDBMS 中数据字典通常采用和普通数据同样的表示方式.数 据字典包括关系定义表、属性表、视图表、视图属性表、视图表达式表、用户表、存取权限表、。(1)解释方法一些数据库系统(如dBASElII)对上述方法进行了改进,通过尽量 推迟聚束过程来赢得数据独立性。具体做法是 :直到执行前,数据库 DML

11、语句都以原始字符串的形式保存。随着数据库系统的发展,这 种方法已逐步为预编译技术所取代。( 2)预编译方法已经看到,将聚束过程提前,固然可达到系统的高效率 ,但失去 了数据库的一个主要优点-数据独立性;将聚束时间推迟,赢得了 数据独立性,却增加了执行高效率的代价。预编译方法就是为了克服 它们的缺点,保持两者的优点而提出的。其基本思想是 ,在用户提供 了 DML 语句后,在运行前对它进行翻译处理,保存产生好的执行代 码,运行时加以执行。但是,使用这种方法会遇到这样的问题:在聚束过程中进行优化 所依据的条件可能在运行前已不存在,或者数据结构被修改,因而导 致已作出的规划在执行时不再有效.例如,假设

12、在聚束过程中决定使 用某一索引来加快存取速度,而在程序编译完成之后,运行之前,该 索引被删除了。那么,运行时就会出现不可预测的现象。为了解决这类问题,采用了重编译方法。即当数据库中某些成分 的改变而使一些程序的编译结果无效时,再对它们执行一次编译.重编 译可在不同时刻进行。为了提高整个系统的效率,不应在数据库某一 成分改变后就马上对受影响的那些源程序重编译,较好的方法是将受 影响的编译结果置“无效”标志,在其被执行时才进行自动重编译。 自动重编译技术使得编译方法既拥有了编译时进行束缚所带来 的高效率,又具备了执行时束缚所带来的数据独立性.实践证明,预编 译方法的效率比其它方法高两倍以上。7。数

13、据存取层 数据存取层介于语言处理层和数据存储之间。它向上提供单元组 接口,即导航式的一次一个元组的存取操作。向下则以系统缓冲区的 存储器接口作为实现基础.(1)提供一次一个元组的查找、插入、删除、修改等基本操作(2)提供元组查找所循的存取路径以及对存取路径的维护操作。 如对索引记录的查找、插入、删除、修改。(3)对记录和存取路径的封锁、解锁操作。(4)日志文件的登记和读取操作。(5)辅助操作.如扫描、合并/排序,其操作对象有关系、有序表、 索引等.为了完成上述功能,通常把存取层又划分为若干功能子系统 加以实现。8。缓冲区管理 数据存取层的下面是数据存储层(简称存储层)。存储层的主要 功能是存储

14、管理.包括缓冲区管理、内外存交换、外存管理等。其中 缓冲管理是最主要的。存储层向存取层提供的接口是由定长页面组成 的系统缓冲区。系统缓冲区的设立是出于两方面的原因:一是它把存储层以上各 系统成分和实在的外存设备隔离。外存设备的变更不会影响其它系统 成分,使DBMS具有设备独立性。二是提高存取效率。DBMS利用 系统缓冲区滞留数据。当存取层需要读取数据时存储子系统首先到系 统缓冲区中查找.只有当缓冲区不存在该数据时才真正从外存读入该 数据所在的页面。当存取层写回一元组到数据库中时,存储子系统并 不把它立即写回外存,仅把该元组所在的缓冲区页面作一标志,表示 可以释放.只有当该用户事务结束或结束缓冲

15、区已满需要调入新页时 才按一定的淘汰策略把缓冲区中已有释放标志的页面写回外存。这样 可以减少内外存交换的次数,提高存取效率.系统缓冲区可由内存或虚存组成.由于内存空间紧张,缓冲区的大 小、缓冲区内存和虚存部分的比例要精心设计。针对不同的应用和环 境按一定的模型进行调整。既不能让缓冲区占据太大内存空间 ,也不 能因空间太小而频频缺页调页,造成“抖动,影响效率。缓冲区由控制信息和若干定长页面组成。缓冲区管理模块向上层 提供的操作是缓冲区的读(READBUF)、写(WRITEBUF)。缓冲区 内部的管理操作有:查找页、申请页、淘汰页。缓冲区管理调用 OS 的操作有:读(READ)、写(WEITE)。

16、9. 数据库的物理组织数据库是大量数据的有结构的综合性的集合,如何将这样一个庞 大的数据集合以最优的形式组织起来存放在外存上是一个非常重要 的问题。所谓“优”应包括两方面:一是存储效率高,节省存储空间; 二是读取效率高,速度快、代价小.数据库实现的基础是文件,对数据库的任何操作最终要转化为对 文件的操作。所以在数据库物理组织中,基本的问题是如何设计文件 组织或者利用操作系统提供的基本的文件组织方法 .但是,在数据库 中表和文件不必具有对应关系。这和操作系统中不一样。DBMS 可以建立只能自己读写的文件,在其中存储多个表的数据。数据系统是文件系统的发展。文件系统中每个文件存储同质实体 的数据,各文件是孤立的,没有体现实体之间的联系。数据库系统中 数据的物理组织必须体现实体之间的联系,支持数据库的逻辑结构 各种数据模型。因此数据库中要存储4 个方面

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

当前位置:首页 > 建筑/环境 > 建筑资料

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