表 (データベース)

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

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

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

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

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

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

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

 関連項目 
 関係 (データベース)
 組 (データベース)
 属性 (データベース)
 テーブル (情報)

Category:SQL
Category:データモデリング
Category:関係データベース管理システム