候補キー・主キー・外部キーとは?
候補キー・主キー・外部キーとは、候補キーは、タプル(行)を一意に識別でき、かつどの属性を除いても一意性が失われない極小の属性集合。その中から選んだ1つが主キー。外部キーは他の表の主キーを参照して関連を表す属性。
応用情報技術者試験の過去問では22回出題されています(2016年度〜2025年度)。
こうほきー・しゅきー・がいぶきー
候補キー・主キー・外部キーの意味
候補キーは、タプル(行)を一意に識別でき、かつどの属性を除いても一意性が失われない極小の属性集合。その中から選んだ1つが主キー。外部キーは他の表の主キーを参照して関連を表す属性。
候補キー・主キー・外部キーの具体例
社員表で「社員番号」と「メールアドレス」がともに一意なら両方が候補キーで、そのうち社員番号を主キーに選ぶ。
候補キー・主キー・外部キーは試験でどう引っ掛けられる?
候補キーは複数存在し得る。「極小である」条件を落とすと、余分な属性を足したものまでキーになってしまう。
候補キー・主キー・外部キーと関連する用語
候補キー・主キー・外部キーが出た過去問
B+木インデックスが定義されている候補キーを利用して、1件のデータを検索するとき、データ総件数Xに対するB+木インデックスを格納するノードへのアクセス回数のオー…
正解:logX
要点:B+木の探索コストは件数の対数オーダ
B+木は根から葉まで階層をたどる木構造で、1つのノードが多数の子を持つため木の高さはデータ件数の対数に比例します。候補キーで1件を検索する場合、根から葉までのノードをたどる回数がアクセス回数になるので、オーダは log X です。件数が増えても高さの伸びが緩やかなことが、大規模な表でも高速に検索できる理由です。
出典:平成28年度 秋期 応用情報技術者試験 午前 問27(IPA)関数従属を次のように表記するとき,属性a~eで構成される関係を第3正規形にしたものはどれか。 〔関数従属〕 (1) 属性Xの値が与えられると,属性Yの値を一意に…
正解:{a,b,d} と {b,c} と {b,d,e} に分解する
要点:第3正規形は非キー属性間の推移的関数従属を排除する
候補キーはaである。a→b→cという推移的関数従属があるのでcをbとともに切り出し、同様にa→{b,d}→eの推移性からeを{b,d}とともに切り出す。残るのは{a,b,d}となり、{a,b,d}・{b,c}・{b,d,e}の3つに分解した形が第3正規形である。
出典:平成28年度 春期 応用情報技術者試験 午前 問27(IPA)次の表において,“在庫”表の製品番号に定義された参照制約によって拒否される可能性がある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。 …
正解:“在庫”表への行追加
要点:外部キーは参照先に存在しない値の登録を拒否する
参照制約は、外部キーの値が参照先の主キーに存在することを要求する。在庫表に行を追加するとき、製品表に存在しない製品番号を指定すると制約違反となり拒否される。
出典:平成28年度 春期 応用情報技術者試験 午前 問29(IPA)第3正規形であることの効果又は影響に関する記述として、適切なものはどれか。
正解:冗長性が排除され、データの整合性を保ちやすくなる。
要点:第3正規形は冗長性を排して更新時の不整合を防ぐ
第3正規形は、非キー属性が主キーに完全関数従属し、かつ推移的関数従属が排除された状態である。同じ事実が複数箇所に重複して保持されなくなるため、更新時の不整合(更新異常)が起こりにくくなり、データの整合性を保ちやすくなる。
出典:平成29年度 秋期 応用情報技術者試験 午前 問27(IPA)“受注明細”表は,どのレベルまでの正規形の条件を満足しているか。ここで,実線の下線は主キーを表す。
正解:第2正規形
要点:非キー属性間の従属が残る表は第2正規形まで
主キーは受注番号と明細番号の組で、商品コードも数量もこの主キー全体に決まるため部分関数従属はなく、第2正規形は満たしている。しかし商品名は非キー属性である商品コードによって決まる推移的関数従属があるため、第3正規形は満たしていない。
出典:平成29年度 春期 応用情報技術者試験 午前 問27(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。