表 (データベース)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

関係データベースフラットファイルデータベースにおけるまたはテーブルとは、データ要素(値)の集合を垂直なと水平ののモデルで構成したものである。表には所定の個数の列があるが、行数は不定である。各行は特定の列の値で識別され、それを候補キーと呼ぶ。

表は関係と同じ意味でも使われる。ただし、表は多重集合がありうるが、関係モデルにおける関係は重複を許さない点が異なる。実際のデータ行の他に、表にはその表や特定の列での値に関する制約のような何らかのメタ情報が対応しているのが一般的である。

表内のデータはデータベースに物理的に格納されている必要はない。ビューも一種の表だが、そのデータはクエリ時に計算で求められる。また、別のデータベース内の表へのポインタとして機能するニックネームもある。

他のデータ構造との比較[編集]

関係データベース以外(階層型データモデルなど)では、表にほぼ相当するものとして構造化ファイルがあり、レコードが表の行に相当し、レコードのカラムが列に相当する。

表計算ソフトとは異なり、各フィールドのデータ型は、表を表すスキーマで定義されているのが普通である。関係データベースによっては、フィールドのデータ型定義が厳密でないものもある。

表と関係[編集]

関係モデルでは、表は関係を表現したものと見なすことができるが、両者は厳密には同じではない。例えば、SQLにおける表は重複した行を含みうるが、真の関係では重複した組 (タプル) はあり得ない。同様に、表として表現するということは列と行にある種の順序が生じるが、関係には順序は存在しない。ただし、列の順序は通常は保証されない(保証するには、SELECT文で ORDER BY 節を指定する)。

関係の他の等価な表現としては、n-次元グラフがある。この場合の n属性数(表の列数)に相当する。例えば、2つの属性の関係と3つの値があるとき、表で表すと2列×3行の表になるが、2次元グラフ上の3つの点としても表せる。表とグラフが表現として等価と言えるのは、列間の順序が重要ではない場合で、表に重複する列がない場合である。

関連項目[編集]