1970年6月T1

Codd の関係モデル論文 ── データベースに数学的基礎を与える

IBM サンノゼ研究所の E. F. Codd が、 CACM 誌に論文「A Relational Model of Data for Large Shared Data Banks」を発表。 集合論と一階述語論理を土台にした関係代数を提唱し、 アプリケーションがデータの物理的な格納方法に依存しないという「データ独立性」を打ち立てた。 当時主流だった階層型・網型 DBMS(IMS、 IDS) への根本的な対抗案であり、 1980 年代以降の Oracle・DB2・SQL Server・MySQL・PostgreSQL を含むすべての RDBMS の理論的起点となった。 Codd は 1981 年 ACM チューリング賞を受賞。

IBM Research Almaden(旧 IBM サンノゼ研究所)の航空写真
出典Dicklyon (Wikimedia Commons) · CC BY-SA 4.0 · Commons で見る

メタデータ

日付
1970年6月
年代
1970s
Tier
T1
出典数
04
関連項目
00

Codd の関係モデル論文 ── データベースに数学的基礎を与える

1970年6月、 IBM サンノゼ研究所(現 IBM Research Almaden) の研究員 Edgar Frank Codd は、 ACM の会報誌 Communications of the ACM 第13巻6号に、 のちにコンピュータ史上もっとも引用される論文の一つとなる「A Relational Model of Data for Large Shared Data Banks」を発表した。

それは「データベース」と呼ばれる新しい技術ジャンルに、 数学的な基礎を与えた瞬間だった。

1970 年当時のデータベース ── 木とポインタの世界

論文以前、 大規模データを扱う主な仕組みは二系統あった。 一つは IBM の IMS に代表される 階層型 DBMS で、 親子関係をもつ木構造でレコードを保持する。 もう一つは Charles Bachman が設計した IDS とその後継 CODASYL/Network DBMS で、 レコード同士をポインタで結ぶグラフ型である。

どちらも問題は同じだった。 アプリケーションは、 データが物理的にどう格納されているか ── 木のどのノードか、 どのポインタを辿るか ── を知っていなければクエリが書けなかった。 結果、 ストレージのレイアウトを変えるとアプリケーションも書き直すことになる。 Codd はこれを「アプリケーションが内部表現に縛られている」と表現した。

論文の主張 ── 集合と論理だけで十分だ

Codd の論文は11ページ。 主張は二つに集約される。

第一の主張:データはすべて「関係(relation)」、 つまり数学的な集合として表現できる。 関係は属性(カラム) の組で定義され、 そこに属するタプル(行) の集合になる。 ファイル・木・ポインタ網ではなく、 集合の集まり ── これが提案された抽象である。

第二の主張:関係に対する操作は、 集合演算と一階述語論理だけで完全に表現できる。 Codd はこれを 関係代数(射影、 選択、 結合、 和、 差、 直積、 商など) として定式化し、 さらに同じ表現力を持つ宣言的な記法として 関係計算 を与えた。 のちの SQL は、 関係計算寄りの構文をベースにしている。

この二点から自然に導かれる帰結が データ独立性(data independence) である。 アプリケーションは「何のデータが欲しいか」を関係代数/計算で書くだけでよく、 DBMS 側がそれを物理的なアクセスパスへと最適化する。 ストレージのレイアウトを変えても、 クエリは書き換えなくていい。

ACID への前段

Codd の論文自体には ACID(原子性、 一貫性、 独立性、 永続性) という言葉は出てこない。 しかし関係モデルが定義した「データの整合性は外部キー制約と関数従属で表現できる」という発想は、 1970 年代後半に IBM System R チーム(Jim Gray ら) が ACID トランザクションを設計するときの土台となった。

System R はリレーショナル DBMS の最初の本格的な実装プロジェクトで、 Codd の論文を読んだ IBM 内部の研究グループが 1974 年から構築を始めた。 ここから派生した SEQUEL(後の SQL) 言語、 二相ロック、 リカバリログ、 オプティマイザ ── 現代の RDBMS の構成要素はおおむね System R に源流をもつ。

なぜ IBM 本体は出遅れたか

歴史の皮肉として記録される事実がある。 関係モデルを発明したのは IBM だが、 それを最初に商品化したのは IBM ではない。

IBM 本体は、 主力製品 IMS(階層型 DBMS) への配慮から、 リレーショナル DBMS の製品化に慎重だった。 結果、 1979 年に Oracle V2 を出荷する Software Development Laboratories(後の Oracle Corporation) に商用市場の先を越される。 IBM が SQL/DS、 そして DB2 をリリースするのは 1981-1983 年のことだった。

Codd 自身は、 1970 年代を通じて IBM 内部で関係モデルの伝道を続けた。 1985 年には有名な「Codd の 12 の規則」を発表し、 当時「リレーショナル」を名乗っていた製品の多くが本当はそうでないことを公然と批判している。

チューリング賞、 そして遺産

Codd は 1981 年、 関係モデルの貢献によって ACM チューリング賞 を受賞した。

彼の論文から半世紀以上たった今、 世界のデータベース市場で支配的な座にあるのはすべて関係モデル系統の製品である ── Oracle、 Microsoft SQL Server、 IBM Db2、 MySQL、 PostgreSQL、 そしてクラウド時代の Snowflake や BigQuery に至るまで、 SQL という関係計算ベースの言語が共通語となっている。 2000 年代に「NoSQL」を名乗ったムーブメントですら、 結局は「リレーショナルではないが、 関係モデル的概念にどう向き合うか」を問う形で展開した。

Codd の 11 ページは、 ソフトウェア工学の歴史で、 数学的厳密さが現実の産業をどれだけ広く規定しうるかを示した稀有な例である。 「データはどう格納されているか」ではなく「データとは何か」を定義した瞬間 ── そこから 50 年以上、 業界はそのフレームの中で歩いている。

出典

  1. 一次資料Edgar F. Codd — ACM A.M. Turing Award

    取得日: 2026-05-25

  2. 二次資料Edgar F. Codd — Wikipedia

    取得日: 2026-05-25

  3. 二次資料Relational model — Wikipedia

    取得日: 2026-05-25

共有