戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2010年 春期 83


問題文

関係データベースにおいて主キーを指定する目的はどれか。

選択肢

主キーに指定した属性(列)で、複数のレコード(行)を同時に特定できるようにする。
主キーに指定した属性(列)で、レコード(行)を一意に識別できるようにする。(正解)
主キーに指定した属性(列)に対し、検索条件を指定できるようにする。
主キーに指定した属性(列)を算術演算の対象として扱えるようにする。

🔒 解説は解答すると表示されます

関係データベースにおいて主キーを指定する目的はどれか。【ITパスポート 解説】

正解の理由

関係データベースとは、表(テーブル)でデータを管理する仕組みです。
主キーとは「その表の各行(レコード)を他と区別するための列(または列の組み合わせ)」です。つまり、主キーは「各レコードを一意(ただ一つ)に識別できるようにする」ために指定します。したがって、選択肢の中では が正しいです。
具体例:社員テーブルで「社員ID」を主キーにすると、どの行がどの社員かを必ず一つに特定できます。重複や空(NULL)が許されない点が主キーの重要な特徴です。

解法ステップ

  1. 問題文で問われているキーワードを確認します:「主キー」「目的」。
  2. 主キーの定義を思い出します:主キーは「レコードを一意に識別するためのもの」。
  3. 選択肢と主キーの定義を照らし合わせます。
    • 「一意に識別できる」と合致するものを選びます。
  4. 他の選択肢が主キーの目的と合わない理由を簡単に確認して除外します。
    以上より、 が正しいと判断できます。

選択肢別の誤答解説

  • ア: 「複数のレコードを同時に特定できるようにする」
    → 主キーの役割は「一つのレコードを特定する」ことです。同時に複数を特定するのは主キーの目的ではありません。誤りです。
  • : 「レコードを一意に識別できるようにする」
    → 正しい。主キーは各行を唯一に識別するための属性(列)で、NULL不可・重複不可が基本です。
  • ウ: 「検索条件を指定できるようにする」
    → どの列でも検索条件にできます(例: WHERE句)。主キーは検索の助けにはなりますが、主目的は「識別」であって「検索可能にすること」自体ではありません。誤りです。
  • エ: 「算術演算の対象として扱えるようにする」
    → 列が数値なら算術演算は可能ですが、それは主キーの目的ではありません。誤りです。

よくある誤解

  1. 「主キーは検索を速くするためのもの」
    • 実際には主目的は識別です。多くのDBでは主キーに自動的にインデックスが作られ、検索が速くなることはありますが、それは副次的な効果です。
  2. 「主キーは複数設定できる」
    • テーブルに設定できる主キーは原則一つです(ただし主キーは複数列の組み合わせ=複合主キーにすることは可能)。複数の別個の主キーを同一テーブルに持つことはできません。
  3. 「主キーは意味のある値(自然キー)でなければならない」
    • 設計の選択で、意味のある値(例:社員番号)を使う場合と、意味のない連番(ID)を使う場合(サロゲートキー)があります。どちらが良いかは用途次第です。

補足コラム

  • 主キーの主な性質:
    • 一意性(Unique):同じ値が複数行に存在しない。
    • 非NULL(Not NULL):空の値を許さない。
    • 最小性(Minimal):不要な列を含めない(複合主キーの場合、必要最小限の列で構成)。
  • SQLの例(テーブル作成と主キー指定):
CREATE TABLE Employees (
  employee_id INT PRIMARY KEY, -- 主キー(社員ID)
  name VARCHAR(100),
  email VARCHAR(100) UNIQUE
);
上の例では employee_id が主キーです。多くのDBは主キーに索引(インデックス)を張るため、JOINや検索が速くなる利点もあります。
  • 「候補キー(candidate key)」は主キーになり得る列の集合で、その中から選ばれたものが主キーです。

FAQ

Q: 主キーにNULLは入りますか?
A: いいえ。主キーの列はNULLを許可しません。NULLは「値がない」ことを意味し、識別に使えないためです。
Q: テーブルに複数の主キーを設定できますか?
A: いいえ。テーブルに設定できる主キーは一つだけです。ただし、複数の列を組み合わせた「複合主キー」は可能です。
Q: 主キーとUNIQUE制約は同じですか?
A: 似ていますが違います。どちらも重複を許さない点は同じですが、主キーはさらに「NULL不可」であり、テーブルにつき一つだけ定義できます。UNIQUEはNULLを許すDBもあり、複数設定できます。
Q: 自然キー(意味のある値)とサロゲートキー(連番)はどちらが良いですか?
A: 用途により使い分けます。自然キーは人が見て分かりやすい利点、サロゲートキーは安定性や運用上の扱いやすさ(値の変更が影響を少なくする)という利点があります。

関連キーワード: 主キー, 一意性, 主キー制約, 複合主キー, サロゲートキー, SQL PRIMARY KEY, インデックス, 外部キー, 正規化
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について