8

私は、SQL に適用される DDL、DML、および DCL の定義に精通しています。それらを定義し説明している Web サイトや本はたくさんあります。しかし、誰も権威ある言及をしているようには見えません。

これらの用語の由来に興味があります。SQLはそれらを発明しましたか? 歴史的に他のデータベースで使用されていましたか? 他の標準がそれらを作成し、それらは SQL で使用されましたか? それとも、SQL は ISO 仕様でそれらを使用していたのでしょうか?

SQL92 にはこれらの用語が含まれていたことが 1 本の本に示されていますが、オンラインで入手できる草案には見つかりません。(確実に知るには、最終的な SQL92 ISO 仕様を購入する必要があるかもしれません。) SQL:1999 は別の分類システムに切り替わりました。

(私が興味を持っている理由の 1 つは、これらが SQL によって発明されたものではない一般的な業界用語である場合、新しい SQL 分類を補完するものとして、それらを使用し続けることが必ずしも正しくないということです。)

これらの用語の由来について、また、これらの用語を最初に定義した可能性のある標準または仕様への信頼できる参照を提供できる人はいますか?

4

1 に答える 1

5

ウィキペディアの「データ定義言語」エントリによると:

データ定義言語の概念とその名前は、データベースのスキーマがユーザー データ モデルのレコード、フィールド、およびセットを記述する言語構文で記述された Codasyl データベース モデルに関連して最初に導入されました。[1] その後、テーブル、列、データ型、および制約を宣言するための構造化照会言語 (SQL) のサブセットを参照するために使用されました。SQL-92 では、スキーマをクエリするためのスキーマ操作言語とスキーマ情報テーブルが導入されました。これらの情報テーブルは、SQL:2003 で SQL/Schemata として指定されました。DDL という用語は、データまたは情報構造を記述するための正式な言語を指す一般的な意味でも使用されます。

ウィキペディアの「Codasyl」エントリに、もう少し詳細が記載されています。

1969 年 10 月、DBTG は、CODASYL データ モデルとして一般に知られるようになったネットワーク データベース モデルの最初の言語仕様を公開しました。実際、この仕様ではいくつかの個別の言語が定義されています。データベースのスキーマを定義するデータ定義言語 (DDL)、データベースのアプリケーション ビューを定義する 1 つまたは複数のサブスキーマを作成する別の DDL です。データベース内のデータを要求および更新するために COBOL プログラミング言語に埋め込むための動詞を定義するデータ操作言語 (DML)。作業は COBOL に焦点を当てていましたが、IBM が COBOL の代替として PL/I を提唱したことで、ホスト言語に依存しないデータベースのアイデアが生まれ始めていました。

また、ウィキペディアの「データベース タスク グループ」エントリには、2 年後に最終レポートを公開したと書かれています。

1971 年 4 月、DBTGはネットワーク データベース モデルの標準化のためのデータ操作言語 (DML) とデータ定義言語 (DDL) の仕様を含むレポートを発行しました。最初の DBTG 提案は 1969 年に既に公開されていました。その後、仕様はさまざまな委員会で修正および開発され、1973 年と 1978 年に他のレポートによって公開されました。仕様は、DBTG データベース モデルまたは CODASYL データベース モデルと呼ばれることがよくあります。データ モデルと同様に、データベース用語の多くの基本概念、特にスキーマとサブスキーマの概念がこのグループによって導入されました。

上記はDDLとDMLをカバーしています。残念ながら、ウィキペディアの「データ制御言語」のエントリには、執筆時点では詳細が記載されておらず、この用語の起源を他の場所で見つけることができませんでした. しかし、上記と下に示すGoogle Ngram グラフを考えると、それは後で、おそらく 1970 年代半ばに発生したと思われます。

データ制御言語の Google Ngram グラフ

そして、これを裏付けるように見える 3 つの用語すべてを示す別のグラフを次に示します。

3 つの用語すべての Google Ngram グラフ

于 2018-01-12T13:28:28.553 に答える