論文メモ A Relational Model of Data for Large Shared Data Banks
November 21, 2020Coddがリレーショナルデータモデルを提唱した70年の論文。 データをリレーション(SQLでのテーブル)として束ね、リレーションを順序なしのタプル(SQLの行)で構成する。
論文の問題意識は、データの種類の増加や内部表現の変更からアプリケーションを守り、影響を抑えることにある。 データとアプリケーションの依存関係を順序、インデックス、参照経路に分類し、これらを抑制する表現としてリレーションナルモデルを提唱した。 ここでの順序は、例えば、ID順にレコードがファイルに格納されているような、データが存在する場所の前提を意味する。 ここでのインデックスは、RDBMSのインデックスと同じもので、パフォーマンスのために用意された冗長なデータをさす。 インデックスの依存は、インデックスが修正されたときに、アプリケーションに与える影響をさす。 参照経路は、当時データベースモデルとして考えられていた階層型やネットワークデータモデル上の木やネットワークのパスを意味する。 これらのデータモデルだと、アプリケーションが目的のデータを参照するには、パスを把握しておく必要があり、パスが変わるとアプリケーションに影響する。
Coddの提唱するリレーションは次の4つの性質を備える。論文の後半は、リレーションに対する並び変え、射影、結合などの演算の定義や演算で上3つの依存性を排除するための手続きを説明している。
- 各行は\(n\)組のタプルを表現する。
- 行の順序は無関係である
- すべての行は異なるタプルである
- 列の順序に意味がある。意味は列名によって与えられる。
- 論文をこちらからダウンロードできます。