情報処理試験を勉強していると、「テーブルって結局、表のこと?行と列ってどっちがレコード?」と混乱しがちです。
結論から言えば、テーブルはデータベースの中で最も基本的な「器」であり、この構造を正確に理解することがデータベース分野の得点に直結します。
対象試験と出題頻度
テーブル(表)は、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 |
▲ 青背景の列が主キー(重複不可)、オレンジ背景の列が外部キー(カテゴリテーブルを参照)
関係モデルとの用語対応
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など)では「ノードとエッジ」が基本単位になります。「テーブル」という言葉が使われていても中身は別物だと認識しておくと、比較問題で混乱しません。