美文网首页数据库笔记
第一部分 - 背景 - 4 - DBMS 的组件

第一部分 - 背景 - 4 - DBMS 的组件

作者: 板蓝根plank | 来源:发表于2017-03-16 12:06 被阅读46次

    一个 DBMS 可以被分成若干软件组件(或者模块),每个组件都被分配了特定的功能。如前所述,DBMS 的一些功能是由基本的操作系统支持的。然而,操作系统一般只提供基本服务,DBMS 建立在其上。因此,DBMS 的设计必须要考虑 DBMS 与操作系统之间的接口问题。

    下图描述了 DBMS 环境中主要的软件组件。这个图显示了 DBMS 如何解决与其他软件组件(如用户查询和访问方法(即存储和检索数据记录的文件管理技术))的接口问题。

    DBMS的主要组件

    • 查询处理器
      这是 DBMS 的一个主要组件,它将所有的查询转换成一系列指导数据库管理器运行的底层指令。

    • 数据库管理器(DM)
      DM 与用户提交的应用程序和查询处理器的接口。DM 接受查询并且检查外部模式和概念模式,确定需要那些概念记录才能满足查询请求。然后 DM 会通知文件管理器来执行请求。

    • 文件管理器
      文件管理器操纵基本存储文件。并管理磁盘存储空间的分配。它建立和维护内部模式中定义的结构和索引的列表。如果要使用散列文件,它就会调用散列函数,产生记录地址。文件管理器不直接管理数据的物理输入和输出,而是将请求传递给适当的操作系统访问方法,由它从系统缓冲区(或高速缓存)中读出或写入数据。

    • DML 预处理器
      这个模块将嵌入应用程序中的 DML 语句转换成宿主语言中标准的函数调用。DML 预处理器必须与查询处理器相互作用并产生适当的代码。

    • DDL 编译器
      DDL 编译器将 DDL 语句转换成一组包含元数据的表格。这些表格存储在系统的目录中,控制信息将存储在数据头文件上。

    • 目录管理器
      目录管理器控制着对系统目录的访问,并且维护系统目录。系统目录可以被大多数的 DBMS 组件访问。

    DBMS的主要组件

    数据库管理器的组件

    • 授权控制
      这个模块检查用户是否具有必要的操作权限。

    • 命令处理器
      一旦系统检查确认用户具有进行操作的权限,控制权将交给命令管理器。

    • 完整性检查器
      对于每个修改数据库的操作,完整性检查器检查请求的操作是否放满足所有必要的完整性约束(例如关键字约束)。

    • 查询优化器
      这个模块确定执行查询的最佳策略。

    • 事务管理器
      这个模块执行从事务接受到操作的序列。

    • 调度程序
      这个模块的任务是确保当前在数据库中并发运行的操作不相互冲突。它控制着事务中操作执行的相对顺序。

    • 恢复管理器
      这个模块确保当发生失效时数据库能够保持一致的状态。它还负责事务提交和终止。

    • 缓冲区管理器
      这个模块负责主存和辅存之间的数据传输,辅存包括磁盘和磁带等。恢复管理器和缓冲区管理器有时候被统称为数据管理器。缓冲区管理器有时候也被称为高速缓存管理器。

    数据库管理器的组件

    相关文章

      网友评论

        本文标题:第一部分 - 背景 - 4 - DBMS 的组件

        本文链接:https://www.haomeiwen.com/subject/dfadnttx.html