一个 DBMS 可以被分成若干软件组件(或者模块),每个组件都被分配了特定的功能。如前所述,DBMS 的一些功能是由基本的操作系统支持的。然而,操作系统一般只提供基本服务,DBMS 建立在其上。因此,DBMS 的设计必须要考虑 DBMS 与操作系统之间的接口问题。
下图描述了 DBMS 环境中主要的软件组件。这个图显示了 DBMS 如何解决与其他软件组件(如用户查询和访问方法(即存储和检索数据记录的文件管理技术))的接口问题。
DBMS的主要组件
-
查询处理器
这是 DBMS 的一个主要组件,它将所有的查询转换成一系列指导数据库管理器运行的底层指令。 -
数据库管理器(DM)
DM 与用户提交的应用程序和查询处理器的接口。DM 接受查询并且检查外部模式和概念模式,确定需要那些概念记录才能满足查询请求。然后 DM 会通知文件管理器来执行请求。 -
文件管理器
文件管理器操纵基本存储文件。并管理磁盘存储空间的分配。它建立和维护内部模式中定义的结构和索引的列表。如果要使用散列文件,它就会调用散列函数,产生记录地址。文件管理器不直接管理数据的物理输入和输出,而是将请求传递给适当的操作系统访问方法,由它从系统缓冲区(或高速缓存)中读出或写入数据。 -
DML 预处理器
这个模块将嵌入应用程序中的 DML 语句转换成宿主语言中标准的函数调用。DML 预处理器必须与查询处理器相互作用并产生适当的代码。 -
DDL 编译器
DDL 编译器将 DDL 语句转换成一组包含元数据的表格。这些表格存储在系统的目录中,控制信息将存储在数据头文件上。 -
目录管理器
目录管理器控制着对系统目录的访问,并且维护系统目录。系统目录可以被大多数的 DBMS 组件访问。

数据库管理器的组件
-
授权控制
这个模块检查用户是否具有必要的操作权限。 -
命令处理器
一旦系统检查确认用户具有进行操作的权限,控制权将交给命令管理器。 -
完整性检查器
对于每个修改数据库的操作,完整性检查器检查请求的操作是否放满足所有必要的完整性约束(例如关键字约束)。 -
查询优化器
这个模块确定执行查询的最佳策略。 -
事务管理器
这个模块执行从事务接受到操作的序列。 -
调度程序
这个模块的任务是确保当前在数据库中并发运行的操作不相互冲突。它控制着事务中操作执行的相对顺序。 -
恢复管理器
这个模块确保当发生失效时数据库能够保持一致的状态。它还负责事务提交和终止。 -
缓冲区管理器
这个模块负责主存和辅存之间的数据传输,辅存包括磁盘和磁带等。恢复管理器和缓冲区管理器有时候被统称为数据管理器。缓冲区管理器有时候也被称为高速缓存管理器。

网友评论