sql - 术语 DDL、DML 和 DCL 的起源是什么?

标签 sql database ddl dml acronym

我熟悉应用于 SQL 的 DDL、DML 和 DCL 的定义。有很多网站和书籍对它们进行了定义和解释。但似乎没有人给出权威的引用。

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

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

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

谁能提供更多关于这些术语起源的见解,以及对可能最初定义它们的任何标准或规范的权威引用?

最佳答案

根据 Wikipedia's "Data definition language" entry :

The concept of the data definition language and its name was first introduced in relation to the Codasyl database model, where the schema of the database was written in a language syntax describing the records, fields, and sets of the user data model.[1] Later it was used to refer to a subset of Structured Query Language (SQL) for declaring tables, columns, data types and constraints. SQL-92 introduced a schema manipulation language and schema information tables to query schemas. These information tables were specified as SQL/Schemata in SQL:2003. The term DDL is also used in a generic sense to refer to any formal language for describing data or information structures.

Wikipedia's "Codasyl" entry 中提供了更多详细信息:

In October 1969 the DBTG published its first language specifications for the network database model which became generally known as the CODASYL Data Model. This specification in fact defined several separate languages: a data definition language (DDL) to define the schema of the database, another DDL to create one or more subschemas defining application views of the database; and a data manipulation language (DML) defining verbs for embedding in the COBOL programming language to request and update data in the database. Although the work was focused on COBOL, the idea of a host-language independent database was starting to emerge, prompted by IBM's advocacy of PL/I as a COBOL replacement.

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

In April 1971, the DBTG published a report containing specifications of a Data Manipulation Language (DML) and a Data Definition Language (DDL) for standardization of network database model. The first DBTG proposals had already been published in 1969. The specification was subsequently modified and developed in various committees and published by other reports in 1973 and 1978. The specification is often referred to as the DBTG database model or the CODASYL database model. As well as the data model, many basic concepts of database terminology were introduced by this group, notably the concepts of schema and subschema.

以上涵盖了 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

关于sql - 术语 DDL、DML 和 DCL 的起源是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48172526/

相关文章:

ALTER TABLE 中的 MySQL 语法错误

mysql - 从 2 行替换

mysql - 获取两个不同日期列的计数并按日期分组

java - 使用java将大量数据从数据库导出到.csv时出现问题

sql-server - SQL Server 条件外键约束

InnoDB 的 MySQL 语法

sql - 麻烦 GROUPing postgres 中的行

javascript - 如何通过邮政编码确定美国县?

带有可能有或可能没有数据的表的 MySQL 查询

oracle - Oracle表审计添加日期和修改日期