8.1.1 数据库语言概述

2025-08-03 08:50:51 更新

任何一个数据库系统都应向用户提供一种数据库语言,包括数据定义语言和数据操纵语言。SQL语言是集数据定义和数据操纵为一体的典型数据库语言。

数据库语言与数据模型密切相关,基于不同的数据模型,数据库语言也不同。目前的关系数据库系统产品都提供SQL语言作为标准数据库语言。

数据定义语言(Data Definition Language,DDL)用来定义数据库模式。DDL包括数据库模式定义、数据库存储结构和存取方法定义,数据库模式的修改和删除功能。数据定义子语言的处理程序分为数据库模式定义处理程序,数据库存储结构和存取方法定义处理程序。数据库模式定义处理程序接收用DDL表示的数据模式定义,把其转变为内部表示形式,存储到数据字典中。数据库存储结构和存取方法定义处理程序接收数据库系统存储结构和存取方法定义,在存储设备上创建相关的数据库文件,建立物理数据库。

数据操纵语言(Data Manipulation Language, DML)用来表示用户对数据库的操作请求。

一般地,数据操纵语言DML能表示如下的数据库操作:

・ 查询数据库中的信息。

・向数据库插入新的信息。

・从数据库删除信息。

・ 修改数据库中的信息。

DML分为过程性和非过程性两种。过程性语言要求用户既要说明需要数据库中的什么数据,也要说明怎样搜索这些数据。非过程性语言只要求用户说明需要数据库中的什么数据,不需要说明怎样搜索这些数据。与过程性语言相比,非过程性语言易学、易懂,但其缺点是非过程性语言产生的处理程序代码要比过程性语言产生的代码运行效率低。这个问题可以通过查询优化来解决。数据操纵语言的核心是数据的查询,所以,有时人们也常把数据操纵语言称为数据查询语言,严格地说这种说法是不确切的。