概念データモデリング・E-R図 重要度:★★★出題: PM1・PM2
自然キー(ナチュラルキー)と代理キー(サロゲートキー)
しぜんきーとだいりきー / Natural Key vs. Surrogate Key
業務上の意味をもつ属性やその組み合わせで構成する主キー(自然キー)と、業務上の意味をもたないシステム採番の連番・UUID等で構成する人工的な単一主キー(サロゲートキー)。
3行速習ポイント
- 自然キー(複合主キー)を用いると、下位テーブルに上位のキー属性(店舗コード、配送年月日、資材コード等)が継承されるため、テーブルを結合せずに直接検索・集計できる可読性と性能メリットがある
- サロゲートキー(単一連番ID)を用いると、主キー列が1列で済むためJOIN条件が単純になるが、本来の業務上の一意性(候補キー)に対するUNIQUE制約を別途定義しないと重複登録を防げない
- IPAのデータベーススペシャリスト午後試験では、データの意味構造と業務ルールを明確に表現するため「自然キー(複合主キー)による関係スキーマ設計」が強く重視される
図解
図自然キー(複合主キー)設計とサロゲートキー設計の対比
自然キー(複合主キー)設計DB試験の標準
上位キーを継承するためスキーマ単体で粒度が明確になり、中間表JOINなしの検索が可能
サロゲートキー(人工単一キー)設計単一列キー
単一連番IDで主キーを構成。業務上の候補キー組み合わせには別途UNIQUE制約が必須
概要と本質
令和7年午後II問2の出題趣旨でも「関係スキーマを自然キーだけを用いて設計することで可読性の高い関係スキーマを導き出す能力を問う」と明言されている通り、DB試験におけるモデリング哲学の核心です。
重要ポイント・コア概念
- 自然キー設計の利点:関係スキーマの主キー構成を見るだけで「何ごとに1件発生するデータか(粒度)」が一目で分かり、中間テーブルを介さずに上位キーで直接検索できる
- サロゲートキー設計の注意点:安易に「明細ID」のような単一人工キーを主キーにすると、本来重複してはならない `{受注番号, 商品コード}` の組み合わせ制約がスキーマから失われやすい
- 午後試験でサロゲートキー(例:`出荷番号` や `コース#`)を使うのは、問題文や帳票・既存スキーマでその番号属性が明示的に与えられている場合に限る
午後I・午後II記述試験での攻略ポイント
午後I・午後IIの関係スキーマ穴埋めでは、問題文にない勝手な「〇〇ID」や「連番」を作ってはいけません。必ず問題文・図表・帳票に登場する自然キー属性(上位エンティティから継承した主キー+日付や区分)を組み合わせて主キーを構成してください。
午後記述で使える加点キーワード(クリックでコピー)
この用語が出題された過去問を解く(1分演習)
即時アウトプットで定着データベーススペシャリスト 過去問演習で実践力を鍛える