T1#standard
CODASYL データベース・タスクグループ報告 ── ネットワーク型データモデルの標準案

メタデータ
- 日付
- 年代
- 1960s
- Tier
- T1
- 参照年表
- データベースの歴史
- 出典数
- 07
- 関連項目
- 01
- Tags
- #standard
1969年10月、 コンピュータメーカーと大口ユーザーからなる委員会が、 プログラムがデータベースをどう定義し、 どう操作すべきかを提案する報告書を出した。 発行元は CODASYL(Conference on Data Systems Languages) のデータベース・タスクグループ(DBTG)。 COBOL を生んだのと同じ団体である。 1971年4月には改訂した報告が続く。 二つの報告は、 GE 一社の製品だった Integrated Data Store を特定メーカーに依存しない仕様へと書き直し、 データベースについて業界がいまも使う語彙の多くを与えた。
COBOL の委員会がデータベースを引き受けるまで
1960年代半ば、 COBOL は事務処理の標準言語になっていた。 磁気テープのファイルを扱うのは得意だったが、 新たに普及し始めたランダムアクセスのディスクを扱う標準的な手段は持っていなかった。 GE で Charles Bachman が作った IDS はその一つの答えだったが、 GE の機械でしか動かない。
CODASYL の答えは作業部会を作ることだった。 Bachman へのインタビューで Thomas Haigh が引いた資料によれば、 部会は 1965年10月に List Processing Task Group として発足し、 1967年に改称された。 Bachman によれば、 発足を主導したのは United States Steel の Warren Simmons で、 COBOL の仕事にも関わった標準化の専門家だった。 Simmons は IDS の連結リストを見て「リスト処理システム」だと考えたが、 Bachman はこの名前を誤解を招くものと見ていた。 Data Base Task Group への改称は、 Bachman の記憶では「データベース」という言葉が十分に知られ、 そういう部会の目的が理解されるようになった頃のことだった。
委員の多くはコンピュータメーカーから来ていた。 インタビューの中で1969年10月の報告書を手にした Bachman は、 General Motors、 Southern Railways、 Allstate、 RCA、 Travelers Insurance、 Honeywell、 Univac、 Burroughs の委員の名を挙げ、 当初 IBM からは誰もいなかったと付け加えている。 報告が出る頃には RCA の William Olle が議長を務めていた。 Bachman 自身は GE を代表し、 Haigh によれば 1966年から1968年まで活発に参加した。
1969年10月の報告 ── DDL・DML・セット
最初の1年は、 Bachman に言わせれば IDS が何をするのかを教える教育の期間だった。 そのうえで彼は仕様を「書き、 書き直し、 また書き直した」。 出発点は GE の IDS の文書そのものだった。 IDS の「マスター」と「ディテール」のレコードは DBTG の「オーナー」と「メンバー」になり、 両者をつなぐ連鎖は「セット」と呼ばれるようになる。 彼が目指したのは IDS の機能を守ることで、 命令の細かな書き方まで守ることではなかった。
1969年10月の報告の中身は、 同時代の読者が書き残している。 ミネソタ大学の委員会が1971年2月に出したニュースレターは、 ACM から4ドルで買えるこの報告を学内向けに要約し、 中核を二つの言語に分けて説明した。
- データベースを記述するデータ記述言語(DDL)
- 単独では使わず、 COBOL・PL/I・FORTRAN などのホスト言語に埋め込んで使うデータ操作言語(DML)
ニュースレターが重要だとしたのはこの分離である。 データをホスト言語から独立して記述すれば、 さまざまな言語で書かれた多数のプログラムが同じデータベースを共有できる。 報告が意図的に外したものにも触れている。 DML はプログラマのための言語で、 プログラマでない人のための照会言語ではない。 DBTG はその必要を認めつつ、 規定を先送りした。
Haigh は1969年の報告にさらに次の概念を挙げる。 スキーマ、 データ独立性とプログラム独立性、 そして初期の IDS を超えるセキュリティ機能 ── 「プライバシーロック」と、 プログラムが扱えるデータベースの範囲を限定するサブスキーマである。 サブスキーマは、 のちの関係データベースでいうビューにおおむね相当する。
1971年4月の報告 ── 仕様の確定と「規格ではない」という位置づけ
次の報告は1971年4月付で、 ニューヨークの ACM(Association for Computing Machinery) から発行された。 本文は iv ページと269ページからなる。 ネットワーク型モデルの DDL と DML を規定し、 一般に「DBTG 仕様」と呼ばれるのはこの報告である。 スキーマとサブスキーマは、 この報告ともっとも強く結びついた用語になった。
1971年の報告は終着点ではなく、 正式な規格でもなかった。 Bachman はこの点をはっきり述べている。 DBTG が出したのは報告であって、 報告と ANSI 規格のあいだには大きな違いがある、 と。 作業は1971年に組み直され、 データ記述言語は CODASYL の別の委員会へ、 COBOL 用の DML は COBOL 言語委員会へ移り、 1970年代を通じて仕様の改訂が続いた。
ネットワーク型を採ったベンダーと、 採らなかった IBM
規格でなくても、 報告は市場を形づくった。 Haigh によれば、 IBM が CODASYL 方式の支持を拒む一方、 他の多くのメーカーは勧告を支持し、 やがてそれを取り込んだシステムを出荷した。 よく知られた実装には、 GE 自身の後継 IDS/II、 Univac の DMS-1100、 Digital Equipment の VMS 向け DBMS がある。
この系統で商業的にもっとも成功した IDMS は、 「CODASYL 準拠」という言葉の幅を示している。 Haigh は IDMS を最も成功した CODASYL システムと呼ぶ。 一方 Bachman の回想では、 Cullinane は IDMS を元の IDS の仕様から変えず、 CODASYL の文面に合わせた IDS II を出したのは GE のほうだった。 製品どうしが似ていたのは、 報告のおかげであると同時に、 共通の祖先のおかげでもあった。
IBM の不在は大きかった。 IBM の IMS は階層型モデルを採っており、 Haigh は DBTG が IBM の推す柔軟性の低い階層型ではなく、 Bachman のネットワーク型を選んだと書く。 1970年代のデータベース市場は、 この線に沿って分かれる。 一方に IBM の階層型 IMS、 もう一方に他の多くのメーカーの CODASYL 型ネットワークシステムである。
DBTG がデータベースの分野に残したもの
ネットワーク型モデルそのものは主流として残らなかった。 1970年の Codd の関係モデルは、 DBTG が標準化しようとしたもの ── プログラムがオーナーとメンバーのセットを1件ずつ辿ること ── をまさに問題にした。 1990年代の終わりまでに、 関係型システムは CODASYL 型を追い越した。
それでも Haigh は、 この委員会の長く残った貢献は技術ではなく概念にあったと論じる。 その報告書が果たした役割は、 何よりも「データベース管理システム」という考え方そのものを定式化し、 広めたことだった。 データ定義言語とデータ操作言語を分けること、 データベース全体を記述するスキーマと、 応用ごとの見え方を定めるサブスキーマ、 そして一つの共有データベースをバッチ処理と対話的処理の両方から使えるようにすること。 Codd の関係型システムは DBTG のデータモデルを置き換えたが、 この構成と語彙の多くは受け継いだ。
よくある質問
- CODASYL の DBTG 報告は1969年と1971年のどちらか
- 両方あります。最初の報告が1969年10月に出てデータ記述言語とデータ操作言語の案を示し、1971年4月に ACM から約270ページの報告書が出ました。一般に「DBTG 仕様」と呼ばれるのは後者です。
- ネットワーク型データベースとは何か
- レコード同士の関係を、1件のオーナーレコードと0件以上のメンバーレコードからなる「セット」で表し、それを網の目のようにつないだモデルです。木構造に限る階層型より柔軟で、GE の IDS に始まり CODASYL の DBTG が標準案にまとめました。
- DBTG の報告は正式な規格だったのか
- いいえ。Bachman 自身が、DBTG の成果は規格ではなく報告だったと述べています。それでも多くのコンピュータメーカーが報告に沿った製品を作り、事実上の共通仕様として働きました。
出典
1969年10月報告の同時代の要約 ── DDL と DML、ホスト言語、照会言語の見送り、ACM による4ドルの頒布
List Processing Task Group の発足と改称、Warren Simmons と William Olle、当初 IBM 不参加、IDS の文書が原文だったこと、報告であって規格ではないこと
1969年報告の内容(DDL・DML・スキーマ・データ独立性、プライバシーロックとサブスキーマ)、IBM の不支持、IDMS
Bachman の在籍期間(1966〜1968年)と報告への影響、階層型に対するネットワーク型の採用
最終更新: