E.F.Codd リレーショナルモデル論文考察|1970年の革命的データベース理論

E.F.Codd リレーショナルモデル論文考察|1970年の革命的データベース理論

更新日:2025年6月28日

1970年、IBMの研究者E.F.Codd(エドガー・フランク・コッド)は論文「A Relational Model of Data for Large Shared Data Banks」を発表し、データベース技術の歴史を根本から変えました。現代のリレーショナルデータベースシステム(RDBMS)の理論的基盤となったこの論文について調査・考察してみました。データベース技術に関心のある方の参考になれば幸いです。
E.F.Codd リレーショナルモデル論文考察|1970年の革命的データベース理論

1. Coddとリレーショナルモデルの登場

1.1 E.F.Coddの経歴

Edgar Frank "Ted" Codd(1923年8月19日 - 2003年4月18日)は、イギリス・ドーセット州ポートランド島フォーチュンズウェル出身の計算機科学者である。オックスフォード大学エクセター・カレッジで数学と化学を学び、第二次世界大戦中は英国空軍沿岸軍団でサンダーランド飛行艇のパイロットとして従軍した。1948年にニューヨークへ移住しIBMに入社、当初はSelective Sequence Electronic Calculator(SSEC)プロジェクトに参加し、その後IBM 701および702の開発に携わった。

1953年、マッカーシズム(赤狩り)への失望からカナダ・オタワへ移住し、1961年にはIBMの奨学生としてミシガン大学に入学した。1965年にJohn Henry Hollandの指導のもと、セルオートマトンにおける自己複製に関する論文で博士号を取得している。1968年、カリフォルニア州サンノゼのIBM研究所に着任し、ここでリレーショナルモデルの理論を構築することとなる。

Coddの多面的業績
Coddはデータベース理論のみならず、セルオートマトンの研究でも先駆的業績を残している。フォン・ノイマンの研究を発展させ、普遍的計算と構築に8状態で十分であることを証明した。彼の設計した自己複製コンピュータは2010年になってようやく実装された。

1.2 1970年以前のデータベース技術

1960年代、コンピュータの商用利用が本格化するにつれ、大量データの管理が重要な課題となっていた。この時代を支配していたのは「ナビゲーショナルデータベース」と呼ばれる二つのモデルである。

1970年以前の主要データベースモデル比較
項目 階層型モデル(IMS) ネットワーク型モデル(CODASYL)
開発元 IBM(1966年) CODASYL委員会(1969年標準化)
データ構造 木構造(親子関係) グラフ構造(多対多関係可)
アクセス方式 ポインタによる階層的走査 ポインタによるネットワーク走査
関係性 1対多のみ 多対多対応可
代表的実装 IBM IMS/DB IDMS、TOTAL
主な問題 柔軟性の欠如、構造変更困難 複雑な実装、保守性の低さ

これらのモデルでは、プログラマがデータの物理的格納場所やアクセス経路を詳細に把握する必要があった。Charles Bachmanが1973年のチューリング賞講演で「The Programmer as Navigator」と題したのは、この状況を端的に表している。データ構造が変更されるとアプリケーションプログラムも修正が必要となり、「ソフトウェア危機」の一因ともなっていた。

1.3 論文の発表と初期の反応

1969年、CoddはIBM社内向け技術レポートとして最初の草稿を発表し、翌1970年6月、Communications of the ACM誌第13巻第6号に「A Relational Model of Data for Large Shared Data Banks」として正式に掲載された。論文は控えめなトーンで書かれており、抄録では「n項関係に基づくモデル、データベース関係の正規形、そして汎用データ副言語の概念を導入する」と述べるにとどまっている。

しかし論文の本質的主張は革命的であった。「将来の大規模データバンクのユーザーは、データがマシン内でどのように組織化されているか(内部表現)を知ることから保護されなければならない」という冒頭の一文は、「データ独立性」という概念を明確に打ち出したものである。

2. 論文の核心概念と技術的貢献

2.1 リレーション(関係)の数学的定義

Coddは集合論に基づき、リレーションを厳密に定義した。集合S1, S2, ..., Snが与えられたとき、これらn個の集合上の関係Rは、各要素が第1成分をS1から、第2成分をS2から取るn-タプルの集合である。SjはRのj番目のドメインと呼ばれ、Rは次数nを持つとされる。

リレーションの次数
次数1のリレーションは単項(unary)、次数2は二項(binary)、次数3は三項(ternary)、一般にn次のものはn項(n-ary)と呼ばれる。この数学的基盤により、関係代数と関係論理という二つの理論的操作体系が導かれる。

2.2 データ独立性の概念

論文の中核をなすのがデータ独立性(Data Independence)の概念である。Coddはこれを「アプリケーションプログラムと端末操作が、データ型の増加やデータ表現の変更から独立していること」と定義した。

データ独立性の二つの側面
種類 定義 従来モデルの問題
物理的データ独立性 格納表現やアクセス方法の変更がアプリケーションに影響しない ポインタがディスクアドレスに直結し、再編成で全面改修が必要
論理的データ独立性 基底テーブルの情報保存的変更がアプリケーションに影響しない スキーマ変更が全アプリケーションに波及

従来のナビゲーショナルモデルでは、レコード間の関係がポインタ(多くの場合ディスクアドレス)で表現されていた。これに対しリレーショナルモデルでは、関係は値によって表現される。主キー(ユーザー指向の識別子)を用いることで、テーブルの物理的移動やサイズ変更が可能となり、高価なデータベース再編成を回避できる。

2.3 正規化理論の萌芽

1970年の論文では正規化(Normalization)の初期概念が提示されている。Coddは「非単純ドメイン」(他のリレーションを値として持つドメイン)を排除する手続きを示した。親リレーションの主キーを子リレーションに展開し、非単純ドメインを削除することで、ポインタなしでの関係表現が可能となる。

この概念は1971年の論文でさらに発展し、第一正規形(1NF)、第二正規形(2NF)、第三正規形(3NF)として体系化された。正規化理論は今日に至るまでデータベース設計の基本原則として広く採用されている。

2.4 理論から実装へ:System RとIngres

リレーショナルデータベース実装の歴史

1970年:Coddが論文発表

1973年:IBM System Rプロジェクト開始

1974年:ミシガン大学でCodd対Bachmanの歴史的討論

1974-75年:System R最初のバージョン完成

1976年:UCバークレーでIngres開発(QUEL言語使用)

1974年:Don ChamberlinとRaymond BoycがSEQUEL(後のSQL)を開発

1977年:Relational Software(後のOracle)が最初の商用RDBMS発売

1978-79年:System Rが顧客によるテスト段階へ

1981年:IBM SQL/DS発表

1983年:IBM DB2発表

IBMは当初リレーショナルモデルの実装に消極的であった。既存の階層型データベースIMS/DBからの収益を守る意図があったとされる。Coddは顧客企業にリレーショナルモデルの可能性を示し、顧客からの圧力によってIBMを動かしたという。

System Rプロジェクトには、Don Chamberlin(SQL共同開発者)、Raymond Boyce(SQL共同開発者)、Patricia Selinger(コストベースオプティマイザ開発)、Raymond Lorie(クエリプラン保存コンパイラ開発)といった研究者が参加した。彼らの成果はIBM DB2へと結実し、現代RDBMSの基盤を形成している。

3. 現代への影響と継承

3.1 チューリング賞と12のルール

1981年、CoddはACMチューリング賞を受賞した。計算機科学における最高栄誉の受賞理由は「リレーショナルデータベース管理の理論と実践への基本的かつ継続的な貢献」である。

1980年代初頭、リレーショナルデータベースが流行すると、多くのベンダーが既存製品に「リレーショナル」の冠を付けて販売し始めた。Coddはこの状況に危機感を抱き、1985年にComputerWorld誌で「Coddの12のルール」を発表した。実際には規則0を含む13の規則であり、製品が真にリレーショナルであるかを判定する基準として提示された。

Coddの12のルール(抜粋)
規則番号 規則名 概要
規則0 基礎規則 RDBMSはリレーショナル機能のみでデータベースを管理できなければならない
規則1 情報規則 すべての情報はテーブル内の値として表現される
規則2 保証されたアクセス規則 テーブル名、主キー、列名の組み合わせで全データにアクセス可能
規則3 NULL値の体系的扱い 欠損情報を表すNULL値が体系的にサポートされる
規則4 動的オンラインカタログ データベース記述自体がリレーショナル形式で格納される
規則8 物理的データ独立性 格納表現の変更がアプリケーションに影響しない
規則9 論理的データ独立性 情報保存的な論理変更がアプリケーションに影響しない
規則12 非転覆規則 低レベル言語でリレーショナルな整合性制約を迂回できない

規則12は特に重要で、ベンダーが既存製品に薄いリレーショナル層を被せただけの製品を排除するために設計された。2007年時点でも「12のルールすべてに準拠するデータベースシステムは存在しない」とする教科書もあり、これらの規則は今なお理想的RDBMSの指針として機能している。

3.2 現代データベース技術への継承

1980年代半ばにはコンピュータハードウェアがリレーショナルシステムの広範な展開を可能にするまで進歩し、1990年代初頭には大規模データ処理分野でリレーショナルシステムが支配的となった。現在もIBM DB2、Oracle、MySQL、Microsoft SQL Serverといったリレーショナルデータベースが広く使用されている。

Coddの遺産:現代技術への示唆

  • 抽象化の重要性:物理的実装から論理的モデルを分離するという発想は、現代のソフトウェアアーキテクチャ全般に通じる原則である
  • 数学的基盤:集合論と一階述語論理に基づく厳密な定義により、クエリの等価性証明と最適化が可能となった
  • 宣言的アプローチ:「何を」取得するかを記述し「どのように」は処理系に委ねるSQLの設計思想は、現代の多くのプログラミングパラダイムに影響を与えている
  • 標準化の価値:SQL標準の確立により、異なるベンダー間での移植性と相互運用性が実現された

3.3 論文の学術的評価

「A Relational Model of Data for Large Shared Data Banks」は計算機科学史上最も影響力のある論文の一つとして認識されている。2002年、Forbes誌は過去85年間の最も重要なイノベーションの一つとしてリレーショナルモデルを選出した。ACM SIGMODは2004年、その最高賞を「SIGMOD Edgar F. Codd Innovations Award」と改称し、Coddの功績を称えている。

2003年4月18日のCodd逝去に際し、当時IBMのリレーショナルデータベース製品責任者であったJanet Pernaは次のように述べている。「彼の卓越したビジョンと知的天才は、今日の技術世界を形作る革新の全く新しい領域を切り開きました。しかし、おそらく彼の最大の業績は、彼が築いた基盤の上に構築を続ける世代の人々にインスピレーションを与えたことでしょう。」

参考・免責事項
[1] Codd, E.F. "A Relational Model of Data for Large Shared Data Banks." Communications of the ACM, Vol.13, No.6, June 1970, pp.377-387.
[2] Codd, E.F. "Is Your DBMS Really Relational?" ComputerWorld, 1985-10-14.
[3] Codd, E.F. "Does Your DBMS Run By the Rules?" ComputerWorld, 1985-10-21.
本記事は2025年6月28日時点の情報に基づいています。専門的な判断は専門家にご相談ください。