主キー・外部キーとは?
主キー・外部キーとは、主キーは表の各行を一意に識別する属性(組)で、重複もNULLも許されない。外部キーは他の表の主キーを参照する属性で、参照先に存在しない値を持てない(参照制約)。
情報処理安全確保支援士試験の過去問では4回出題されています(2019年度〜2025年度)。
しゅきー・がいぶきー
主キー・外部キーの意味
主キーは表の各行を一意に識別する属性(組)で、重複もNULLも許されない。外部キーは他の表の主キーを参照する属性で、参照先に存在しない値を持てない(参照制約)。
主キー・外部キーの具体例
多対多の関連を表す「関連クラス(連関エンティティ)」は、両側の表の主キーを外部キーとして持ち、その組合せを主キーとすることが多い。
主キー・外部キーは試験でどう引っ掛けられる?
参照制約に違反しやすいのは「参照する側(子)への行の追加・更新」と「参照される側(親)の行の削除・キー更新」。ON DELETE CASCADEを指定すると親行の削除時に子行も連鎖削除される。
主キー・外部キーと関連する用語
主キー・外部キーが出た過去問
次の表において,“在庫”表の製品番号に参照制約が定義されているとき,その参照制約によって拒否される可能性がある操作はどれか。ここで,実線の下線は主キーを,破線の…
正解:“在庫”表への行追加
要点:参照制約は外部キー側への行追加を拒否しうる
参照制約は、外部キーの値が参照先の主キーに存在することを求める。在庫表の製品番号は製品表を参照する外部キーなので、製品表に存在しない製品番号を持つ行を在庫表へ追加しようとすると拒否される。参照する側への追加・更新と、参照される側の削除・更新が制約の対象になる。
出典:令和1年度 春期 情報処理安全確保支援士試験 am2 問21(IPA)次の表において、“在庫”表の製品番号に参照制約が定義されているとき、その参照制約によって拒否される可能性がある操作はどれか。ここで、実線の下線は主キーを、破線の…
正解:“在庫”表への行追加
要点:参照制約は参照する側への行追加を拒否し得る
参照制約は、外部キーの値が参照先の主キーに存在することを保証する。したがって在庫表へ行を追加する際、参照先の製品表に存在しない製品番号を指定すると、制約違反として拒否される可能性がある。逆に、参照する側の行を削除する操作や、参照される側へ行を追加する操作は、制約を破ることにならない。
出典:令和3年度 秋期 情報処理安全確保支援士試験 am2 問21(IPA)関係モデルにおける外部キーに関する記述のうち,適切なものはどれか。
正解:一つの関係に外部キーが複数存在してもよい。
要点:外部キーは一つの関係に複数あってよい
外部キーは、他の関係(または自分自身)の候補キーを参照する属性の組である。参照する候補キーが複数あれば、一つの関係が外部キーを複数持つことに何の制約もない。たとえば受注明細が、商品と受注のそれぞれを参照する外部キーを同時に持つ形は一般的である。
出典:令和6年度 秋期 情報処理安全確保支援士試験 am2 問21(IPA)“従業員”表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表し、表中のNULLは値が存在しないことを表す。 〔SQL文〕 SEL…
正解:S002, S004, S007
要点:NOT EXISTSの相関副問合せは部下を持たない行を抽出する
このSQLは、相関副問合せで「自分の従業員コードを上司として持つ行が存在しない」従業員、すなわち部下を一人も持たない従業員を抽出します。表では上司欄にS001・S003・S005・S006が現れるので、これらは部下を持つ従業員です。残るS002・S004・S007が誰の上司にもなっていないため、これらが結果として得られます。
出典:令和7年度 春期 情報処理安全確保支援士試験 am2 問21(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。