IT PASSPORT
ITパスポートの問題解説
問題
「注文」表に商品コードの列があり、その値は必ず「商品」表のいずれかの行を指していなければならない。このように、別の表の主キーを参照して表どうしの整合性を保つために設定する列を何と呼ぶか。
- ア 外部キー
- イ 主キー
- ウ 候補キー
- エ インデックス
出典:オリジナル問題|参考範囲:IPA ITパスポート試験シラバス(最新版)、情報処理技術者試験の基礎知識
正解と解説
正解:外部キー
解説:関係データベースでは、複数の表を関連づけてデータを管理します。例の「注文」表の商品コードは、それ自体が「商品」表の主キーを指し示す役割を持っています。このような列を外部キーと呼び、外部キーの値は参照先に必ず存在しなければならない、というルール(参照整合性)が働きます。これにより、存在しない商品コードの注文が登録されてしまう、といった矛盾を防げます。主キーが「自分の表の行を見分ける」役なのに対し、外部キーは「相手の表とつなぐ」役だと整理すると分かりやすいです。
覚え方:主キーは自分の表の中での身分証、外部キーは他の表へのリンク、とイメージしましょう。外部キーは参照先(主キー側)に必ずある値しか持てない点もセットで覚えると安心です。
他の選択肢はなぜ違う?
- イ主キーは、その表の各行を一意に識別するための列です。他の表を参照する役割を担う列ではありません。
- ウ候補キーは、主キーになり得る一意性を持った列(の集合)のことで、別表を参照するための列を指す語ではありません。
- エインデックスは検索を高速化するための索引で、表どうしの参照整合性を保つ仕組みとは目的が異なります。
この問題について
IPAのITパスポート試験シラバスとIT基礎知識を参考に、Sikaku Master向けに独自作成した問題です。公式試験問題・過去問題の転載ではありません。
IPAの過去問題の転載ではなく、シラバス・公開情報に基づく独自問題として作成しています。