1.5 数据库管理系统概述
1.5.1 数据库管理系统的工作模式
在前面1.1.2节中,已介绍过数据库管理系统(DBMS)的概念,是对数据库进行统一操纵和管理的大型数据管理软件,主要功能是建立、使用和维护数据。它是数据库系统的核心和关键,用于统一管理控制数据库系统中的各种操作,包括数据定义、查询、更新及各种管理与控制,都是通过DBMS进行的。DBMS的工作模式示意图如图1-18所示。
图1-18 DBMS的工作模式示意图
DBMS的查询操作工作模式如下。
1)接收应用程序的数据请求和处理请求。
2)将用户的查询数据请求(高级指令)转换成复杂的低层指令。
3)低层指令实现对数据库的具体操作。
4)接收数据库操作得到的查询结果。
5)对查询结果进行处理,包括相应的格式转换。
6)将处理结果返回给用户。
【案例1-9】DBMS查询示例图。为了使读者对数据库系统工作有一个更深入的了解,下面以一个select命令为例,演示该命令执行的主要步骤,其执行过程如图1-19所示。
图1-19 用户访问数据的过程
DBMS是数据库系统核心,需要借助操作系统对数据进行统一管理和控制。
1)当用户执行应用程序,查询一条数据库记录时,就会向DBMS发出select命令。
2)DBMS接到命令后,首先对命令进行语法检查。语法检查通过后,对其语义检查和存取权限进行检查。
3)DBMS对查询进行优化。
4)DBMS在缓冲区中查找记录,如果找到则转到步骤9);否则,转到步骤5)。
5)DBMS与数据字典进行交互,得到数据存储模式信息。
6)DBMS向操作系统发出读取记录命令。
7)操作系统接到DBMS的文件读取命令后,读取相应的文件。
8)操作系统将读到的数据送到缓冲区。
9)DBMS导出用户所要的数据。
10)应用程序将缓存区的数据送到工作区。
11)DBMS将命令执行的状态返回给应用程序,应用程序根据返回状态判断命令执行是否成功。
1.5.2 数据库管理系统的功能和机制
1.DBMS的主要功能
在计算机系统中,对数据的管理是通过DBMS和数据库实现的。其主要功能如下。
1)数据定义功能。DBMS提供了数据定义语言(Data Definition Language,DDL)。用户通过DDL完成对数据库中数据对象的定义,如定义对象(数据库、表和视图)等。
2)数据存取功能。DBMS提供了数据操作语言(Data Manipulation Language,DML)。用户可用DML实现对数据库的基本操作,如检索、插入、删除和修改等。
3)运行管理功能。DBMS提供了数据控制和管理功能,可对数据库进行有效的控制和管理,实现数据的安全性、完整性、并发性控制和故障恢复,确保数据正确有效。
4)数据组织、管理和存储。DBMS要对各种数据进行分类组织、管理和存储,包括用户数据、数据字典和数据存取路径等。确定文件结构种类、存取方式(索引查找、哈希查找和顺序查找等)和数据的组织,实现数据之间的联系等,提高了存储空间的利用率和存取效率。
5)数据库的建立和维护功能。包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重新组织功能、性能监视和分析功能等。上述功能主要由一些实用软件或管理工具完成。
6)其他功能。主要包括DBMS与其他软件系统的数据通信功能;不同DBMS或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等。
2.DBMS的工作机制
DBMS的工作机制是将用户对数据的操作转化为对系统存储文件的操作,有效地实现数据库三级模式结构之间的转化。通过DBMS可以进行数据库及数据的定义和建立、数据库和数据的操作(输入、查询、修改、删除、统计和输出等)与管理,以及数据库的控制与维护、故障恢复和交互通信等。
1.5.3 数据库管理系统的模块组成
DBMS是一个复杂的软件系统,由许多模块组成。由于DBMS的用途、版本及复杂程度各异,其程序不尽相同,按程序实现的功能可分为4部分。
1)语言编译处理程序。包含数据定义语言(Data Definition Language,DDL)、数据操作语言(Data Manipulation Language,DML)、数据控制语言(Data Control Language,DCL)和事务管理语言(Transact Management Language,TML)的功能及其编译程序。
2)系统运行控制程序。主要包括系统总控程序、安全性控制程序、完整性控制程序、并发控制程序、数据存取和更新程序,以及通信控制程序。
3)系统建立与维护程序。主要包括装配程序、重组程序和系统恢复程序。
4)数据字典。对于用户来说,数据字典为一组只读的表,其内容包括数据库中所有模式对象特征的描述信息,如表、视图及索引等;还包括来自用户的信息、系统状态信息和数据库的统计信息等。