関係モデル 【relational model】 リレーショナルモデル

概要

関係モデル(relational model)とは、データの集合を表現する数学的なモデルの一つ。データ群を複数の項目の「関係」として捉えるもの。各データは複数の異なる項目を関連付けた「組」と、同じ種類のデータを並べた「属性」の両方に同時に所属する。

解説 関係モデルでは、一件のデータを複数の値を紐付けた「組」(tuple)として表現する。それぞれの値は「属性」(attribute)に所属しており、組の中では属性名を使って指し示すことができる。各属性はどのような値を取りうるかを定めた定義域(domain)を持つ。

この「組」と「属性」で整理されたデータ集合全体のことを「関係」(relation)と呼ぶ。関係のことを、属性のみが定義された、データの入れ物としての「関係変数」(relation variable)と、関係変数に具体的に0個以上の組を代入した「関係値」(relation value)に分けて考える場合もある。

関係モデルは集合論に基づいており、関係代数による関係同士の演算が可能である。基本的な演算として「和」(和集合を求める)、「差」(差集合を求める)、「交差」(積集合を求める)、「直積」(デカルト積を求める)、「制限」(条件に合う集合を抽出する)、「射影」(特定の属性だけ抽出する)、「結合」(条件に従って組み合わせる)、「商」(直積の逆演算)などがある。

RDBのテーブル

リレーショナルデータベースでは「テーブル」(table)と呼ばれる2次元の表を用いて関係モデルを具体的なデータ構造として記録する。関係モデルにおける組はテーブルにおける「行」(row)に、属性は「列」(column)に、定義域は「データ型」(data type)に、それぞれほぼ相当する。

ただし、テーブルと関係は厳密には同じ概念ではない。例えば、関係における組や属性の並びに順序は無いがテーブルでは順序が設定される、関係では行の重複(すべての値が同一である組を複数持つ)はできないがテーブルではできる、関係では値の不存在は許されないがテーブルではできる(Null値)、などの点が異なっている。

(2021.10.6更新)

他の用語辞典による「関係モデル」の解説 (外部サイト)

資格試験などの「関係モデル」の出題履歴

▼ ITパスポート試験
令4 問83】 データを行と列から成る表形式で表すデータベースのモデルはどれか。
平26秋 問74】 データベースの論理的構造を規定した論理データモデルのうち、関係データモデルの説明として適切なものはどれか。

▼ 基本情報技術者試験
令4修7 問26】 関係モデルの属性に関する説明のうち,適切なものはどれか。
令2修7 問26】 関係モデルとその実装である関係データベースの対応に関する記述のうち,適切なものはどれか。
平31春 問26】 関係モデルの属性に関する説明のうち,適切なものはどれか。
平30修12 問26】 関係モデルとその実装である関係データベースの対応に関する記述のうち,適切なものはどれか。
平28春 問26】 関係モデルとその実装である関係データベースの対応に関する記述のうち,適切なものはどれか。
平24修1 問29】 関係データモデルにおいて,属性が取り得る値の集合を意味する用語はどれか。