DBを学んでいると、リレーショナルデータモデルというものは耳にしたことがある。
しかし、具体的な内容はよく知らないため調べてみる。
リレーショナルデータモデルとは
1970年に、エドガー・F・コッド(Edgar F.Codd)が提唱しました。
データベース理論と実装の基礎となる概念です。
内容
基本的な内容
- データは「リレーション(関係)」として表現される
リレーションとは数学的な「集合」の考え方に基づき、表形式(テーブル)の形をとる - テーブル(リレーション)の構成
- 行(レコード)= ここのデータ
- 列(フィールド)= データの種類や意味
- 順序に依存しない
- 行の順番、列の順番に意味はない(集合論的性質)
特徴
- データの独立性
- 物理的な保存方法(ファイル構造やポインタ)から切り離して、論理的な表構造でデータを定義。
- リレーショナル代数に基づく操作(SQLの基礎)
- 選択(特定の行を取り出す)
- 射影(特定の列を取り出す)
- 結合(複数の表をつなぐ)
- 一貫性を守る制約
- 主キーによる一意性
- 外部キーによる参照整合性
コッドの12の規則
コッドの12の規則は「リレーショナル」を正しく定義し、実装や利用において曖昧さを排除するための検証リストとして作られました。
現代でも、この規則は「リレーショナルDBMSの理想像」を示す道標であり、実際の製品は必ずしも全て満たしていませんが、データベースの設計思想を考えるうえで重要な役割を果たしています。
wikipediaに翻訳されたものが存在するため、詳しくはこちらを参照ください。
参考
コッド, エドガー・F.「A Relational Model of Data for Large Shared Data Banks」
https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
コッド, エドガー・F., コッド, サドン・B., サリー, チャールズ・T. 『リレーショナルモデルによるデータベース管理 Version 2』
https://dl.acm.org/doi/pdf/10.5555/77708
「コッドの12の規則」 Wikipedia 日本語版
https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%83%E3%83%89%E3%81%AE12%E3%81%AE%E8%A6%8F%E5%89%87
Oracle Magazine 編集責任者 Jeff Spicer「Edgar F. Codd(1923-2003) リレーショナル・データベースの父を偲ぶ」日本オラクル訳、
https://www.oracle.com/technetwork/jp/articles/edgar-f-codd-155044-ja.html