DDL,DML和DCL这两个术语的起源是什么?

时间:2018-01-09 16:23:47

标签: sql database ddl dml acronym

我熟悉应用于SQL的DDL,DML和DCL的定义。有很多网站和书籍可以定义和解释它们。但似乎没有人给出权威的参考。

我对这些术语的来源感兴趣。 SQL发明了吗?他们是否已经在历史上用于其他数据库?是否有其他标准创建它们,它们是否被SQL使用?或者SQL甚至在ISO规范中都使用它们?

一本书表明SQL92包含这些术语,但我无法在线提供的草稿中找到它们。 (也许我必须购买最终的SQL92 ISO规范才能确定。)SQL:1999切换到不同的分类系统。

(我很好奇的一个原因是,如果这些是SQL不发明的一般行业术语,那么继续使用它们并不一定是不正确的,这是对新SQL分类的补充。)< / p>

任何人都可以提供有关这些术语起源的更多信息,以及对最初可能定义它们的任何标准或规范的权威参考吗?

1 个答案:

答案 0 :(得分:3)

根据Wikipedia's "Data definition language" entry

  

数据定义语言的概念和其名称是第一位的   介绍了与Codasyl数据库模型相关的架构   数据库是用描述语言的语言语法编写的   用户数据模型的记录,字段和集合。[1]后来它被使用了   引用结构化查询语言(SQL)的子集进行声明   表,列,数据类型和约束。 SQL-92介绍了一个   要查询的模式操作语言和模式信息表   模式。这些信息表被指定为SQL / Schemata   SQL:2003。 DDL这个术语在一般意义上也用来指代任何   用于描述数据或信息结构的形式语言。

Wikipedia's "Codasyl" entry中提供了更多细节:

  

1969年10月,DBTG发布了第一语言规范   对于通常被称为的网络数据库模型   CODASYL数据模型。该规范实际上定义了几个   单独的语言:用于定义的数据定义语言(DDL)   数据库的模式,另一个用于创建一个或多个子模式的DDL   定义数据库的应用程序视图;和数据操作   定义用于嵌入COBOL编程的动词的语言(DML)   用于请求和更新数据库中数据的语言。虽然工作   专注于COBOL,即主机语言独立数据库的概念   由于IBM倡导PL / I作为COBOL,因此开始出现   更换。

"Data Base Task Group" Wikipedia entry表示它在2年后发布了最终报告:

  

1971年4月,DBTG发布了一份包含规范的报告   数据操作语言(DML)和数据定义语言   (DDL)用于网络数据库模型的标准化。第一个DBTG   提案已于1969年出版。规范是   随后在各个委员会和   由其他报告于1973年和1978年出版。规范是   通常称为DBTG数据库模型或CODASYL数据库   模型。以及数据模型,数据库的许多基本概念   该组引入了术语,特别是概念   架构和子模式。

以上涵盖DDL和DML。不幸的是Wikipedia's "Data control language" entry在撰写本文时并没有太多细节,我无法在其他地方找到这个术语的起源。但考虑到上述情况以及下面显示的Google Ngram graph,可能会怀疑它是否会出现 - 可能是在20世纪70年代中期。

Google Ngram graph for Data control language

而且here is another graph显示了支持这三项的所有三个词:

Google Ngram graph for all three terms