我熟悉应用于SQL的DDL,DML和DCL的定义。有很多网站和书籍可以定义和解释它们。但似乎没有人给出权威的参考。
我对这些术语的来源感兴趣。 SQL发明了吗?他们是否已经在历史上用于其他数据库?是否有其他标准创建它们,它们是否被SQL使用?或者SQL甚至在ISO规范中都使用它们?
一本书表明SQL92包含这些术语,但我无法在线提供的草稿中找到它们。 (也许我必须购买最终的SQL92 ISO规范才能确定。)SQL:1999切换到不同的分类系统。
(我很好奇的一个原因是,如果这些是SQL不发明的一般行业术语,那么继续使用它们并不一定是不正确的,这是对新SQL分类的补充。)< / p>
任何人都可以提供有关这些术语起源的更多信息,以及对最初可能定义它们的任何标准或规范的权威参考吗?
答案 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年代中期。
而且here is another graph显示了支持这三项的所有三个词: