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

ITパスポート 2023年 問78


問題文

関係データベースの主キーの設定に関する記述として、適切なものだけを全て挙げたものはどれか。
a 値が他のレコードと重複するものは主キーとして使用できない。 b インデックスとの重複設定はできない。 c 主キーの値は数値でなければならない。 d 複数のフィールドを使って主キーを構成できる。

選択肢

ア:a、c
イ:a、d(正解)
ウ:b、c
エ:b、d

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

関係データベースの主キー設定【ITパスポート解説】

正解の理由

主キー(primary key:表の中で各レコード(行)を一意に識別するための項目)は、次の二つの性質をもちます。
  • 値が他のレコードと重複してはならない(一意性)。そのため、値が他のレコードと重複する項目は主キーとして使用できません(a)。
  • 一つの項目だけで一意に識別できない場合は、複数の項目(フィールド)を組み合わせて主キーにできます。これを複合主キー(複合キー)といいます(d)。
したがって、適切な記述はaとdであり、正解は イ です。

解法ステップ

  1. 主キーの条件を思い出す:値が一意であること、空値(NULL)をとらないこと。
  2. a:重複する値は一意性を満たさないので主キーにできない → 適切。
  3. b:主キーとインデックスは重複して設定できる(多くのDBMSは主キーに自動でインデックスを作る)→ 不適切。
  4. c:主キーの値は数値に限られず、文字列(例:社員コード“S001”)でもよい → 不適切。
  5. d:複数のフィールドを組み合わせて主キーにできる(複合主キー)→ 適切。
  6. 適切なのはaとdなので、イ(a、d)を選ぶ。

選択肢別の誤答解説

  • ア:a、c
    aは適切ですが、cが誤りです。主キーは文字列や日付など、数値以外の項目でも設定できます。
  • イ:a、d
    正解。どちらも主キーの性質を正しく述べています。
  • ウ:b、c
    bは誤りです。主キーの項目にインデックスを設定することはでき、検索の高速化のために主キーには通常インデックスが作られます。cも誤りです。
  • エ:b、d
    dは適切ですが、bが誤りです。

よくある誤解

  1. 「主キーは番号(数値)でなければならない」
    → 誤りです。“S001”のような文字列のコードや、複数項目の組合せでも主キーにできます。大切なのは値が一意であることです。
  2. 「主キーは一つの項目でなければならない」
    → 誤りです。例えば“成績”表では「学生番号」と「科目コード」を組み合わせて初めて行を一意に識別できるので、二つを合わせて主キーにします。
  3. 「インデックスと主キーは同時に設定できない」
    → 誤りです。主キーにはインデックスが設定されるのが一般的です。

補足コラム

  • 主キーの二つの制約
    • 一意性制約:同じ値のレコードが二つ以上存在しない。
    • NOT NULL制約:値が空(NULL)であってはならない。
  • 複合主キーの例
    • “受注明細”表(受注番号、明細番号、商品コード、数量)では、「受注番号」だけでは明細が複数あるため一意にならず、「受注番号+明細番号」を主キーにします。

FAQ

Q1. 主キーと外部キーの違いは?
A1. 主キーは自分の表のレコードを一意に識別する項目、外部キーは他の表の主キーを参照する項目です。外部キーの値は重複してもかまいません。
Q2. 主キーに向いている項目は?
A2. 値が変わらず、必ず一意になる項目です。氏名は同姓同名がありうるので向かず、社員番号や商品コードのように一意に割り当てたコードが向いています。

関連キーワード: 主キー、一意性制約、NOT NULL制約、複合主キー、インデックス、外部キー、関係データベース
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する→

すぐに利用可能!

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

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