Каково происхождение терминов DDL, DML и DCL?
Я знаком с определениями DDL, DML и DCL применительно к SQL. Есть много веб-сайтов и книг, которые определяют и объясняют их. Но никто, кажется, не дает авторитетную ссылку.
Я заинтересован в происхождении этих терминов. Изобретал ли их SQL? Они уже использовались исторически для других баз данных? Разве какой-то другой стандарт создал их, и они использовались SQL? Или SQL вообще использовал их вообще в спецификациях ISO?
В одной книге указано, что в SQL92 включены эти термины, но я не могу найти их в проекте, доступном в Интернете. (Возможно, мне придется приобрести окончательную спецификацию ISO для SQL92, чтобы знать наверняка.) SQL:1999 переключился на другую систему классификации.
(Одна из причин, по которой мне любопытно, заключается в том, что, если бы это были общие отраслевые термины, не придуманные SQL, то было бы необязательно некорректно продолжать их использовать, дополняя новые классификации SQL.)
Может ли кто-нибудь предоставить более полную информацию о происхождении этих терминов вместе с авторитетными ссылками на любые стандарты или спецификации, которые могли бы их изначально определить?
1 ответ
Согласно записи Википедии "Язык определения данных":
Концепция языка определения данных и его названия была впервые введена в связи с моделью базы данных Codasyl, где схема базы данных была написана в синтаксисе языка, описывающем записи, поля и наборы модели пользовательских данных.[1] Позже он использовался для ссылки на подмножество языка структурированных запросов (SQL) для объявления таблиц, столбцов, типов данных и ограничений. SQL-92 ввел язык манипулирования схемами и таблицы информации о схемах для запроса схем. Эти информационные таблицы были определены как SQL/Schemata в SQL:2003. Термин DDL также используется в общем смысле для обозначения любого формального языка для описания данных или информационных структур.
Немного больше подробностей представлено в записи Codasyl в Википедии:
В октябре 1969 г. DBTG опубликовала свои спецификации первого языка для модели сетевой базы данных, которая стала широко известной как модель данных CODASYL. Эта спецификация фактически определила несколько отдельных языков: язык определения данных (DDL) для определения схемы базы данных, другой DDL для создания одной или нескольких подсхем, определяющих прикладные представления базы данных; и язык манипулирования данными (DML), определяющий глаголы для встраивания в язык программирования COBOL для запроса и обновления данных в базе данных. Хотя работа была сосредоточена на COBOL, идея независимой базы данных на языке хоста начала появляться, что было вызвано поддержкой IBM PL/I как замены COBOL.
А в записи в Википедии "База данных" говорится, что она опубликовала итоговый отчет 2 года спустя:
В апреле 1971 года DBTG опубликовала отчет, содержащий спецификации языка манипулирования данными (DML) и языка определения данных (DDL) для стандартизации модели сетевой базы данных. Первые предложения DBTG уже были опубликованы в 1969 году. Впоследствии спецификация была изменена и разработана в различных комитетах и опубликована в других отчетах в 1973 и 1978 годах. Спецификацию часто называют моделью базы данных DBTG или моделью базы данных CODASYL. Наряду с моделью данных, этой группой было представлено много основных понятий терминологии базы данных, в частности понятия схемы и подсхемы.
Вышесказанное охватывает DDL и DML. К сожалению, в статье Википедии "Язык управления данными" не было много деталей на момент написания, и я не смог найти происхождение этого термина в другом месте. Но, учитывая вышесказанное и график Google Ngram, показанный ниже, можно предположить, что это произошло позже - возможно, в середине 1970-х годов.
И вот еще один график, показывающий все три термина, которые, кажется, подтверждают это: