情報処理試験を勉強していると、「テーブルって結局、表のこと?行と列ってどっちがレコード?」と混乱しがちです。

結論から言えば、テーブルはデータベースの中で最も基本的な「器」であり、この構造を正確に理解することがデータベース分野の得点に直結します。

対象試験と出題頻度

テーブル(表)は、ITパスポート・基本情報技術者・応用情報技術者のすべてで出題されるテーマです。

関係データベース(RDB)の基本構造に関する問題として定番化しており、行・列の用語対応や主キー・外部キーの役割を正確に区別できるかが問われます。

詳細をクリックして確認
対象試験:
ITパスポート
基本情報技術者
応用情報技術者
出題頻度:
★★★★★
ランクS(超重要)絶対に覚える必要あり

用語の定義

テーブル(Table/表)とは、一言で言うと

 「関係データベースにおけるデータ格納の基本単位で、行(レコード)と列(カラム)で構成される2次元の構造

のことです。

イメージとしては、名簿用紙の1枚です。

クラスの名簿用紙には、縦方向に生徒が1人ずつ並び(=行)、横方向に「出席番号」「氏名」「住所」などの項目が並んでいます(=列)。

テーブルもまったく同じ発想で、データを縦横の格子状に整理して格納しています。

📊 テーブル(表)の基本情報

項目 内容
英語名 Table
関係モデルでの呼称 関係(リレーション)
構成要素 行(レコード/タプル)、列(カラム/フィールド/属性)
操作言語 SQL(CREATE TABLE文で作成)
関連する主要概念 主キー、外部キー、正規化、ビュー

解説

関係データベースでは、あらゆるデータがテーブルという統一された形式で管理されます。

顧客情報も、商品情報も、注文履歴も、すべて別々のテーブルに格納し、キー(鍵)の値で結び付けるのが基本設計です。

この仕組みが普及した背景には、テーブル形式が「構造の理解しやすさ」と「データ操作の柔軟性」を両立できるという利点があります。

行・列・キーの役割

テーブルを構成する要素は3つの視点で整理できます。

要素 別名 役割
レコード/タプル 1件分のデータを表す。名簿で言えば「生徒1人分の情報」
カラム/フィールド/属性 データ項目の種類を表す。名簿で言えば「出席番号」「氏名」といった見出し
主キー Primary Key 各行を一意に特定する列。値の重複とNULLは許されない
外部キー Foreign Key 他のテーブルの主キーを参照する列。テーブル間の「つなぎ役」

図解:テーブルの構造

具体例として「商品」テーブルを見てみましょう。

テーブル名:商品

商品ID 🔑
(主キー)
商品名 カテゴリID 🔗
(外部キー)
価格
P001 ノートPC C01 120,000
P002 マウス C02 2,500
P003 キーボード C02 5,800
列(カラム):横方向のデータ項目 →
行(レコード):縦方向に並ぶ1件分のデータ ↓

▲ 青背景の列が主キー(重複不可)、オレンジ背景の列が外部キー(カテゴリテーブルを参照)

関係モデルとの用語対応

IPA試験では、関係モデル(理論)と関係データベース(実装)で呼び方が異なることを利用した出題が繰り返されています。以下の対応表は丸暗記する価値があります。

関係モデル(理論) 関係データベース(実装) 意味
関係(リレーション) 表(テーブル) データの集合全体
タプル 行(レコード) 1件分のデータ
属性(アトリビュート) 列(カラム/フィールド) データ項目の種類
定義域(ドメイン) データ型 値の取り得る範囲・形式

図解:テーブル間の関連(主キーと外部キー)

先ほどの商品テーブルと、参照先のカテゴリテーブルの関係を図で示します。

テーブル間の関連(外部キー参照)

商品テーブル

🔑 商品ID(主キー)

  商品名

🔗 カテゴリID(外部キー)

  価格

━━▶

カテゴリテーブル

🔑 カテゴリID(主キー)

  カテゴリ名

外部キー「カテゴリID」の値がカテゴリテーブルの主キーに存在しなければエラーになる(参照整合性制約)

何となくで覚えたい人向け:ざっくりまとめ

・テーブル = Excelのシート1枚だと思えばOK

・行(横の並び) = 1人分・1件分のデータ

・列(縦の並び) = 「名前」「住所」のような項目

・主キー = その行を特定するためのID(被りNG・空欄NG)

・外部キー = 別のテーブルと紐づけるためのID

では、この用語が試験でどのように出題されるか見ていきましょう。

💡 テーブルの核心を3行で

・関係データベースのデータ格納単位で、行(レコード)と列(カラム)の2次元構造
・関係モデルでは「関係(リレーション)」と呼ばれ、理論と実装の用語対応が頻出
・主キー(一意に特定)と外部キー(別テーブル参照)でテーブル同士を関連付ける


試験ではこう出る!

テーブル(表)の知識は、IP・FE・APの午前問題で関係データベースの基礎問題として繰り返し出題されています。出題パターンは大きく3つです。

📊 過去問での出題実績

試験回 出題内容 問われたポイント
IP R6
問60
関係データベースの構成要素(表・レコード・フィールド)の用語穴埋め ・「表→レコード→フィールド」の包含関係
・用語の対応を正確に覚えていれば即答
FE H25秋
午前 問29
関係データベースのデータ構造の説明として適切なものを選ぶ ・正解は「データを2次元の表によって表現する」
・ポインタ結合(階層型)がひっかけ
FE R2免除
問26
関係モデルと関係データベースの用語対応を問う ・正解は「関係は表に対応付けられる」
・属性の順序やタプルの重複に関する違いがひっかけ
IP R4
問83
行と列の表形式で表すデータベースモデルを選ぶ ・正解は「関係モデル」
・階層モデル・ネットワークモデルとの区別

📝 IPA試験での出題パターン

パターン1:「データ構造の説明を選べ」
4つのデータベースモデルの説明文が並び、関係データベース(=2次元の表)に該当するものを選ぶ形式。ひっかけとして「ポインタで結合」(階層型)や「カプセル化」(オブジェクト指向)の記述が紛れ込む。「2次元の表」のキーワードを見つけたら確定です。

 

パターン2:「関係モデルとの用語対応を選べ」
理論側の用語(関係・タプル・属性・ドメイン)と実装側の用語(表・行・列・データ型)の対応を問う形式。ここだけは確実に押さえてください。「関係=表」が分かれば他の選択肢は消去法で片付きます。

 

パターン3:「構成要素の包含関係を埋めよ」
IP R6 問60のように「表 ⊃ レコード(行)⊃ フィールド(列の値)」の入れ子を穴埋めする形式。試験ではここまででOKです。SQLの構文や正規化の詳細は別のテーマとして出題されるため、深追いは不要です。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。


Q. 関係モデルにおける「関係」「タプル」「属性」に対応する、関係データベースの用語の組合せとして最も適切なものはどれでしょうか?

  • A. 関係=ビュー、タプル=行、属性=列
  • B. 関係=表、タプル=列、属性=行
  • C. 関係=表、タプル=行、属性=列

正解と解説を見る

正解:C

解説:
関係モデルの「関係」は実装では「表(テーブル)」、「タプル」は「行(レコード)」、「属性」は「列(カラム/フィールド)」に対応します。FE R2免除 問26で出題された定番の論点です。

選択肢Aは「関係=ビュー」が誤りです。ビューは実テーブルから導出される仮想的な表であり、関係モデルの「関係」に直接対応するものではありません。選択肢Bは「タプル=列、属性=行」が逆です。タプルは1件分のデータ(行)を、属性はデータ項目の種類(列)を指すため、入れ替わっている時点で不正解です。


よくある質問(FAQ)

Q. テーブルとビュー(仮想表)は何が違いますか?

テーブルは実際にデータが格納される「実表」であるのに対し、ビューはSELECT文の定義だけを保存し、問い合わせのたびにデータを導出する「仮想表」です。ビュー自体にはデータが存在せず、元のテーブルが更新されればビューの結果も変わります。IPA試験では外部スキーマの実現手段としてビューが問われることがあります。

Q. SQLでテーブルを作成するにはどう書きますか?

CREATE TABLE文を使います。以下は商品テーブルを作成する例です。

CREATE TABLE 商品 (
  商品ID   CHAR(4)    PRIMARY KEY,
  商品名   VARCHAR(50) NOT NULL,
  カテゴリID CHAR(3)   REFERENCES カテゴリ(カテゴリID),
  価格     INTEGER
);

PRIMARY KEYが主キー制約、REFERENCESが外部キー制約です。試験の範囲ではSQL構文の細部まで暗記する必要はありませんが、CREATE TABLEでテーブルを定義することは押さえておくと得です。

Q. 1つのデータベースにテーブルはいくつ作れますか?

製品仕様上の上限はRDBMSによって異なりますが、実務では数十〜数百テーブルを持つシステムが一般的です。業務の種類ごとにテーブルを分け、正規化によって冗長性を排除しながら設計します。IPA試験で「テーブル数の上限」が直接問われることはないので、参考程度の知識です。

Q. NoSQLにもテーブルの概念はありますか?

NoSQLの種類によります。Amazon DynamoDBのようなKVS系は「テーブル」という名称を使いますが、内部構造は関係データベースの2次元表とは異なり、スキーマレスで柔軟なデータ格納が可能です。ドキュメント指向(MongoDBなど)では「コレクション」、グラフ指向(Neo4jなど)では「ノードとエッジ」が基本単位になります。「テーブル」という言葉が使われていても中身は別物だと認識しておくと、比較問題で混乱しません。