DDL描述的模式通常是文本文件格式,必须由计算机转换为便于计算机查询和操纵的格式,完成这个转换工作的程序称为模式编译器。

模式编译器要为数据库支持的各种宿主语言提供用户工作区的数据类型和结构定义,就是为每种语言定义一个头文件,使用户工作区和数据库的逻辑结构相一致。有的数据库管理系统对同一个模式可为FORTRAN、PASCAL和 C分别产生程序头文件。
下面给出为 C 语言产生的一个头文件的例子。

例题
例如,用 DDL 模式描述语言描述小汽车,其描述模式如下:
CLASS CAR
ATTRIBUTES

name : STRING;
model : INT;
color : INT;
ENDCLASS;

经模式编译器编译,在头文件中产生的 C 语言的结构如下:
struct car {
char * name;
int model;
int color;
};

关于对象类CAR的描述,其中只给出属性定义,没有约束、操作方法和类之间关系的描述。对类的操作方法和约束表达式的处理,是把用户用DDL描述的操作过程和约束表达式翻译成用程序语言描述的程序源代码。
关系数据库的关系模式描述是通过SQL语言中的CREATE 语句实现的。如

CREATE TABLE student
(学号 int,姓名 char[20],性别 char[1],出生日 date,系名 char[20],电话 char[8],班级 char[12])
SQL的描述也要经过处理存储到计算机中。

2 对模式的操作
对模式的操作包括:存取、查找、浏览和修改。对已经存储了数据的数据库中的模式进行修改操作,要涉及到如下数据的修改:

(1) 数据字典信息的修改;

(2) 数据结构和类型以及约束和操作方法的修改;
(3) 数据库中对应修改模式的数据值的修改。


例如,在关系表中增加一个属性字段或减少一个属性字段时,已有的元组值必须进行修改。增加一个属性字段时,每个已有值的元组要增加相应的属性值空间并赋予空值(如果允许)。减少一个属性字段时,对每个已有值的元组要删除相应的属性值。模式的修改要保持数据的完整性约束。