数据库原理及应用:SQL Server 2019(第2版)
上QQ阅读APP看书,第一时间看更新

1.5 数据库管理系统概述

1.5.1 数据库管理系统的模块组成

在上述1.1.2节中,已介绍过数据库管理系统(DBMS)的概念,是对数据库及数据进行统一管理和控制的系统软件。DBMS是一个复杂的软件系统,由许多模块组成。由于DBMS的用途、版本及复杂程度各异,其程序不尽相同,按程序实现的功能DBMS可以分为4部分。978-7-111-66147-4-Chapter01-96.jpg

978-7-111-66147-4-Chapter01-97.jpg知识拓展

按模块结构分DBMS组成

1)语言编译处理程序,主要包括数据定义语言(Data Definition Language,DDL)、数据操作语言(Data Manipulation Language,DML)、数据控制语言(Data Control Language,DCL)和事务管理语言(Transact Management Language,TML)功能及其编译程序。

2)系统运行控制程序,主要包括系统总控程序、安全性控制程序、完整性控制程序、并发控制程序、数据存取和更新程序,以及通信控制程序。

3)系统建立与维护程序,主要包括装配程序、重组程序和系统恢复程序。

4)数据字典,对于用户为一组只读的表,其内容包括数据库中所有模式对象特征的描述信息,如表、视图及索引等;还包括来自用户的信息、系统状态信息和数据库的统计信息等。978-7-111-66147-4-Chapter01-98.jpg

978-7-111-66147-4-Chapter01-99.jpg特别理解

数据字典的基本概念

1.5.2 数据库管理系统的主要功能和机制

1.DBMS的主要功能

在计算机系统中,对数据的管理是通过DBMS和数据库实现的。其主要功能如下。

1)数据定义(建立)功能,主要通过DBMS的数据定义语言(DDL)提供,主要定义数据库及其组成元素的结构。用户利用DDL可以方便地对数据库中的相关内容进行定义,如对数据库、基本表、视图和索引进行定义。

2)数据操作(操纵)功能,主要是通过DBMS的数据操作语言(DML)进行提供。用户可用DML实现对数据库的基本操作,如对数据库中数据进行查询、插入、删除和修改等。个别文献称为数据操纵语言,并将数据查询语言(Data Query Language,DQL)单列。

3)事务与运行管理是DBMS的核心功能。DBMS提供了数据控制语言(DCL)、事务管理语言(TML)和系统运行控制程序等,在数据库的建立、运行和维护时,可由DBMS统一管理和控制具体事务的操作与运行,并保证数据的安全性、完整性、多用户对数据并发使用及意外时的系统恢复。

4)组织、管理和存储数据。DBMS可对各种数据进行分类组织、管理和存储,包括用户数据、数据字典、数据存取路径等。确定文件结构种类、存取方式(索引查找、顺序查找等)和数据的组织,实现数据之间的联系等,提高了存储空间的利用率和存取效率。

5)数据库的建立和维护功能。数据库的建立是指数据的载入、存储、重组与恢复等。数据库的维护是指数据库及其组成元素的结构修改、数据备份等。数据库的建立和维护主要包括数据库初始数据的输入、转换,数据库的转储与恢复,数据库的重新组织功能、性能监视、分析功能等。上述功能可利用相关的应用程序或管理工具实现。

6)DBMS的其他功能,主要包括DBMS同其他软件系统的数据通信功能,不同DBMS或文件系统的数据转换功能,不同数据库之间的互访和互操作功能等。

2.DBMS的工作机制

DBMS的工作机制是将用户对数据的操作转化为对系统存储文件的操作,有效地实现数据库三级模式结构之间的转化。通过DBMS可以进行数据库及数据的定义和建立、数据库和数据的操作(输入、查询、修改、删除、统计、输出等)与管理,以及数据库的控制与维护、故障恢复和交互通信等。978-7-111-66147-4-Chapter01-100.jpg

978-7-111-66147-4-Chapter01-101.jpg知识拓展

DBMS基于数据模型

1.5.3 数据库管理系统的工作模式

DBMS是数据库系统的核心和关键,用于统一管理控制数据库系统中的各种操作,包括数据定义、查询、更新及各种管理与控制。如定义(建立)、操作(处理)、管理与维护数据库和数据,以及数据库的备份与恢复等。DBMS的工作模式示意图,如图1-21所示。

978-7-111-66147-4-Chapter01-102.jpg

图1-21 DBMS的工作模式示意图

DBMS的查询操作工作模式如下。

1)接收应用程序(用户)的数据请求和处理请求。

2)将用户的查询数据请求(高级指令)转换成复杂的低层指令。

3)低层指令实现对数据库的具体操作。

4)接收数据库操作得到的查询结果。

5)对查询结果进行处理,包括相应的格式转换。

6)将处理结果返回给用户(终端)。

【案例1-10】利用DBMS查询示例图。为了使读者对数据库系统工作有一个更具体深入的了解,下面以一个查询select操作为例,演示该命令执行的主要步骤,其执行过程如图1-22所示。

978-7-111-66147-4-Chapter01-103.jpg

图1-22 用户访问数据的过程

DBMS是数据库系统的核心,需要借助操作系统对数据进行统一管理和控制。

①当用户执行应用程序,查询一条数据库记录时,就会向DBMS发出查询select命令。

②DBMS接到命令后,首先对命令进行语法检查。语法检查通过后,对其进行语义检查和存取权限检查。

③DBMS对查询(对象:数据库、数据表、数据,以及结构、格式和位置等)进行优化。

④DBMS在数据缓冲区中查找记录,如果找到则转到步骤⑨;否则,转到步骤⑤。

⑤DBMS与数据字典进行交互,得到数据存储模式信息。

⑥DBMS向操作系统发出读取记录命令。

⑦操作系统接到DBMS的文件读取指令后,读取相应文件。

⑧操作系统将读取到的数据送到数据缓冲区。

⑨DBMS导出用户所要的数据。

⑩应用程序将缓存区的数据传送到终端。

⑪DBMS将命令执行的状态返回给应用程序,应用程序根据返回状态判断命令执行是否成功。