1
数据库原理与应用技术
1.2.4.3 1.4.3 DBMS
1.4.3 DBMS

DBMS是数据库系统的核心软件,数据库的一切操作都是通过DBMS进行的。用户对数据库进行操作,是由DBMS把操作从应用程序带到外模式、模式,再导向内模式,进而操作存储器中的数据的。DBMS的主要目的是提供一个可以方便地、有效地存取数据库信息的环境。

1. DBMS的主要功能

(1) 数据库定义功能。DBMS提供数据描述语言(DDL),定义外模式、模式、内模式及相互间的映射关系,定义数据的完整性、安全控制等约束。

(2) 数据库操纵功能。DBMS提供数据操纵语言(DML)来实现对数据库中数据的操作。基本的数据操作有查询、插入、删除和修改。第5章会详细介绍关于这些操作的具体实现方法。该功能是面向用户的主要功能。

(3) 数据库保护功能。DBMS提供了数据恢复、数据并发控制、数据安全性控制和数据完整性控制等保护工具。

数据库恢复功能是指在数据库被破坏或数据不正确时,系统有能力把数据库恢复到正确状态。

数据并发控制在多个用户同时对同一数据的操作可能会破坏数据库中的数据,或者用户读了不正确的数据时,能防止错误发生,正确处理好多用户、多任务环境下的并发操作。

数据安全性控制能防止未经授权的用户蓄谋或无意地存取或修改数据库中的数据,以免造成数据的泄露、更改或破坏。

数据完整性控制可以保证数据及语义的正确性和有效性,防止任何对数据造成错误的操作。

(4) 数据库存储管理。数据库存储管理的主要任务是把各种数据操纵语言转换成底层的文件系统命令,起到数据的存储、检索和更新的作用,简化和促进对数据的访问。

(5) 数据库维护功能。数据库维护功能由数据装载程序、备份程序、文件重组程序和性能监控程序等实用程序实现,由数据库管理员使用。

数据装载程序是把正文文件或顺序文件中的数据转换成数据库中的格式,并装入数据库中的软件。

备份程序是把磁盘中的数据库完整地存储到磁带上,产生备份的软件。在系统发生灾难性故障后,可以把备份中的数据库重新装入其他磁盘,供用户使用。

文件重组程序是把数据库中的文件重新组织成其他不同形式的文件以改善系统的性能的软件。

性能监控程序用于监控用户使用数据库的方式是否合乎要求,收集数据库运行的统计数据。数据库管理员根据这些统计数据作出判断,决定采取何种重组方式来改善数据库运行的性能。

(6) 数据字典。

数据字典是对实际数据库各级模式所作的解释库,即对数据库的描述库。数据库的操作都要通过访问数据字典才能实现。通常数据字典中还存放数据库运行时的统计信息,如记录个数、访问信息等。

2. 数据库管理系统的组成

数据库管理系统由查询处理器和存储管理器两大部分组成。

(1) 查询处理器由DDL编译器、DML编译器、嵌入式DML的预编译器和查询运行核心程序四部分组成。

①DDL编译器负责编译或解释DDL,并把它登录在数据字典中。

②DML编译器负责对查询或程序中的DML进行优化,并转换成“查询运行核心程序”能执行的低层指令。

③嵌入式DML的预编译器负责把嵌入在宿主语言程序中的DML预处理成宿主语言的过程调用形式。

④查询运行核心程序负责执行由DML编译器产生的低层指令。

(2) 存储管理器由授权和完整性管理器、事务管理器、文件管理器和缓冲区管理器四部分组成。

①授权和完整性管理器负责测试访问是否满足完整性约束,检查用户访问数据是否合法。

②事务管理器负责并发事务的正确执行,确保数据库的一致性。数据库系统的逻辑工作单位称为事务,事务由数据库的操作序列组成。

③文件管理器负责磁盘空间的合理分配,管理物理文件的存储结构和存取方式。

④缓冲区管理器负责从磁盘读取数据后通过缓冲区进入内存,并决定哪些数据进入高速缓冲存储器。