Каково происхождение терминов DDL, DML и DCL?

Я знаком с определениями DDL, DML и DCL применительно к SQL. Есть много веб-сайтов и книг, которые определяют и объясняют их. Но никто, кажется, не дает авторитетной ссылки.

Меня интересует происхождение этих терминов. Их изобрел SQL? Были ли они уже исторически использованы для других баз данных? Их создал какой-то другой стандарт, и они использовались SQL? Или SQL вообще использовал их в спецификациях ISO?

В одной книге указано, что SQL92 включал эти термины, но я не могу найти их в черновике, доступном онлайн. (Может быть, мне придется купить окончательную спецификацию ISO SQL92, чтобы знать наверняка.) SQL:1999 переключился на другую систему классификации.

(Одна из причин, по которой мне любопытно, заключается в том, что если бы это были общеотраслевые термины, не изобретенные SQL, то не обязательно было бы неправильно продолжать использовать их в дополнение к новым классификациям SQL.)

Может ли кто-нибудь дать больше информации о происхождении этих терминов, а также авторитетные ссылки на любые стандарты или спецификации, которые могли их первоначально определить?


person Garret Wilson    schedule 09.01.2018    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это не вопрос о программировании.   -  person Zohar Peled    schedule 11.01.2018
comment
Это может быть полезно — foldoc.org/Data+Definition+Language, где упоминается Справочное руководство по DDL. , ECE Dept U Colorado, 1991. Не original source для DDL, но, возможно, эта книга поможет вам приблизиться на один шаг.   -  person James L.    schedule 11.01.2018
comment
Эм, @ZoharPeled, вы понимаете, что язык в DDL, DML, DCL относится к языку программирования? Я хочу знать, как правильно вызывать подмножество SQL, связанное, например, с манипулированием данными, и неясно, устарел ли термин DML или он просто дополнен дополнительным набором категорий.   -  person Garret Wilson    schedule 11.01.2018
comment
Ну, это просто неправильно. DDL — это не более язык программирования, чем XML или HTML. DML можно считать языком программирования, а DCL — языком предоставления и отзыва доступа к данным, я не думаю, что это можно рассматривать как язык программирования. И в любом случае вы задаете лингвистический вопрос, а не вопрос программирования. Это не делает его плохим вопросом, и я также хотел бы прочитать ответ на него, просто он не подходит для Stackoverflow. Я уверен, что для этого вопроса лучше подойдет какой-нибудь другой веб-сайт в сети StackExchange. linguistics.stackexchange.com возможно?   -  person Zohar Peled    schedule 11.01.2018
comment
Хм (x2), @ZoharPeled, вы понимаете, что CODSYL (от которого, возможно, возник этот термин) использовал DDL в качестве одного из языков для программирования базы данных? Я начинаю подозревать, что вы недостаточно хорошо понимаете вопрос, чтобы ответить на него, поэтому вы считаете, что он не по теме.   -  person Garret Wilson    schedule 11.01.2018
comment
Ну, вы можете не соглашаться со мной... но не могли бы вы указать хоть одну программу, которая написана с использованием только DDL? (или DDL+DCL, я не против)   -  person Zohar Peled    schedule 11.01.2018
comment
Неважно, являются ли DDL, DML и DCL языками программирования или нет. Дело в том, что ваш вопрос не о проблеме программирования. Может ли кто-нибудь дать больше информации о происхождении этих терминов, а также авторитетные ссылки на какие-либо стандарты или спецификации, в которых они могли быть изначально определены? Нет. то же, что Как мне использовать DDL + DML для создания и заполнения таблиц моей базы данных? (это следует закрыть как слишком широкое, но это не относится к делу)... Вы можете прочитать stackoverflow.com/help/on-topic еще раз.   -  person Zohar Peled    schedule 11.01.2018
comment
Я читал правила и не увидел ничего, что запрещало бы такие вопросы. В любом случае, пока вы ждете третьего голоса от того, кто согласен с вами, чтобы закрыть этот вопрос, не стесняйтесь дать ответ на вопрос и выиграть награду. ;) Ваше здоровье!   -  person Garret Wilson    schedule 11.01.2018
comment
Хорошо сыграно... ;-) но я здесь не ради лингвистического приключения.   -  person Zohar Peled    schedule 14.01.2018


Ответы (1)


Согласно статьи Википедии "Язык определения данных":

Концепция языка определения данных и его название впервые были представлены в связи с моделью базы данных Codasyl, где схема базы данных была написана с использованием синтаксиса языка, описывающего записи, поля и наборы данных. модель данных пользователя.[1] Позже он использовался для обозначения подмножества языка структурированных запросов (SQL) для объявления таблиц, столбцов, типов данных и ограничений. SQL-92 представил язык манипулирования схемами и информационные таблицы схемы для запросов к схемам. Эти информационные таблицы были указаны как SQL/Schemata в SQL:2003. Термин DDL также используется в общем смысле для обозначения любого формального языка для описания данных или информационных структур.

Более подробная информация содержится в статьи "Codasyl" в Википедии:

В октябре 1969 года DBTG опубликовала свои первые языковые спецификации для модели сетевой базы данных, которая стала широко известна как модель данных CODASYL. Эта спецификация фактически определила несколько отдельных языков: язык определения данных (DDL) для определения схемы базы данных, другой DDL для создания одной или нескольких подсхем, определяющих представления приложений базы данных; и язык обработки данных (DML), определяющий глаголы для встраивания в язык программирования COBOL для запроса и обновления данных в базе данных. Хотя работа была сосредоточена на COBOL, идея независимой от основного языка базы данных начала появляться, вызванная защитой IBM PL/I как замены COBOL.

А в записи Википедии "Целевая группа по базе данных" говорится, что окончательный отчет был опубликован два года спустя:

В апреле 1971 года DBTG опубликовала отчет, содержащий спецификации языка манипулирования данными (DML) и языка определения данных (DDL) для стандартизации модели сетевой базы данных. Первые предложения DBTG уже были опубликованы в 1969 году. Впоследствии спецификация была изменена и разработана в различных комитетах и ​​опубликована в других отчетах в 1973 и 1978 годах. Спецификацию часто называют моделью базы данных DBTG или моделью базы данных CODASYL. Помимо модели данных, эта группа ввела многие основные понятия терминологии базы данных, в частности понятия схемы и подсхемы.

Вышеупомянутое охватывает DDL и DML. К сожалению, статья Википедии "Язык управления данными" на момент написания статьи не содержит подробностей, и я не смог найти происхождение этого термина в другом месте. Но с учетом вышеизложенного и График Google Ngram, показанный ниже, предполагает, что он появился позже - возможно, где-то в середине 1970-х годов.

График Google Ngram для языка управления данными

И вот еще один график, показывающий все три термина, которые подтверждают это:

График Google Ngram для всех трех терминов

person Steve Chambers    schedule 12.01.2018
comment
Да, интересный материал --- я уже прочитал большую часть этого. Я надеялся получить какую-нибудь авторитетную ссылку (непосредственно из какой-нибудь спецификации) или услышать кого-то, кто действительно работал с этим материалом в свое время. - person Garret Wilson; 12.01.2018
comment
Первая ссылка на DCL была найдена на vi-lib.com/CheatSheets/ как DCL (Data Control Language) Component of SQL that protect databases from harm such as lock от 27 сентября 1971 г. - person SriniV; 12.01.2018
comment
@GarretWilson Я кратко рассмотрел попытку получить исходные документы спецификации - кажется, они могут быть доступны по адресу здесь), но, по-видимому, этот ресурс является только руководством по поиску (Чтобы получить доступ к коллекциям, найденным в базе данных помощи при поиске Университета Миннесоты, свяжитесь с отдельным отделом сбора или хранилищем.)< /я>. - person Steve Chambers; 12.01.2018
comment
@GarretWilson Также стоит упомянуть, что тому, кто работал над исходным отчетом Codasyl в возрасте 20 лет, сейчас будет около 70. Согласно опросу 2016 года, люди старше 60 лет составляют 0,8 % пользователей StackOverflow. . Так что, возможно, можно найти кого-то, кто работал над чем-то родственным с тех пор, но маловероятно, что вы услышите от первоначальных авторов. - person Steve Chambers; 12.01.2018
comment
Это хороший момент, @SteveChambers. Иногда я забывал, как быстро летит время. Вы, безусловно, вложили в это много труда и, несомненно, заслуживаете награды. Спасибо за ваши усилия. Я все еще хочу чего-то более определенного. Я могу приобрести спецификацию SQL92, если она все еще доступна, а также некоторые документы CODASYL, просто чтобы посмотреть, не принесут ли они больше информации. - person Garret Wilson; 17.01.2018