在这里,我们将讨论用户如何与 DBMS 交互,以及 DBMS 如何与系统软件相关联。使用通用编程语言,用户可以正常编写源程序。然而,程序员不是编写由编程语言提供的形式的 I/O 语句,而是使用定义为与 DBMS 一起使用的数据操作语言 (DML) 编写命令。处理器可用于将 DML 命令转换为调用 DBMS 例程的编程语言语句。
使用编程语言本身,一些 DML 被定义为一组 CALL 语句。这里给出了用户与 DBMS 交互的两种主要方法。
使用查询语言与 DBMS 交互是 DBMS 的另一种方法。用户无需编写访问数据库的程序,用户只需输入 DBMS 定义的特殊查询语言的命令。这些命令由查询语言解释器处理,它调用 DBMS 例程来执行请求的操作。
导致用户与 DBMS 交互的每一种方法都有其自身的优势。借助查询语言可以更快地获得结果,因为不需要编写和调试程序,这对于非程序员有效地使用它变得非常有利。允许程序员使用通用编程语言的所有灵活性和功能是 DML 的一大优势,但是这种方法需要用户付出很多努力。大多数现代数据库管理系统都提供查询语言和 DML,以便用户可以选择最能满足其需求的交互形式。
以下是一些步骤,用于展示 DBMS 如何执行典型的操作序列:
- 第 1 步:在应用程序 A 调用的帮助下进入 DBMS 时,事件序列开始。我们假设该调用是从数据库读取数据的请求。其他类型的数据库操作也有类似的事件序列。
- 步骤 2:程序 A 的请求根据 A 正在使用的子模式进行说明。要处理从程序 A 请求并根据 A 正在使用的子模式说明的请求,DBMS 必须首先检查子模式定义。
- 第 3 步: DBMS 必须考虑子模式和模式之间的关系,以根据整个逻辑数据库结构来解释请求。
- 步骤 4: DBMS 在确定必须根据模式读取的逻辑数据库记录后,检查数据映射描述。该操作提供了有关在数据库文件中定位所需记录的需要的信息。
- Step-5:此时,对子模式记录的逻辑请求已被 DBMS 转换为从一个或多个文件读取数据的物理请求。这些文件 I/O 请求使用服务调用的类型传递给操作系统。
- 步骤 6:然后操作系统发出通道和设备命令来执行必要的物理 I/O 操作。这些 I/O 操作将所需的记录从数据库读取到 DBMS 缓冲区中。
- 步骤 7:在物理 I/O 操作完成后,应用程序请求的所有数据都存在于中央存储器中。 DBMS 通过再次比较模式和子模式来完成这种转换。
- 最后,DBMS 将控制权返回给应用程序,并为程序提供各种状态信息,包括任何可能的错误指示。
为了清楚理解,下面是给出的图表: