SC情報処理安全確保支援士試験 午前Ⅱ
平成26年度春期 情報処理安全確保支援士 午前Ⅱ 問21
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア外部キーの値は、 その関係の中で一意でなければならない。
- イ外部キーは、 それが参照する候補キーと比較可能でなくてもよい。
- ウ参照先の関係に、 参照元の外部キーの値と一致する候補キーが存在しなくてもよい。
- エ一つの関係に外部キーが複数存在してもよい。
解き方のヒントを見る
外部キーは“よその表を指さすメモ”みたいなものだよ
外部キーは、ある表のデータが別の表の正しいデータを参照しているかを守るための仕組みだよ。たとえば注文表の「会員ID」が、会員表に実在する会員を指しているか確認するイメージだね。1つの表の中に外部キーは複数あってもよくて、別々の表を参照したり、同じ表の別の候補キーを参照したりできるよ。
この問題で問われていること
外部キーを「値を一意にするための制約」と勘違いしないことがポイントだよ。外部キーの役目は、データ同士のつながりが壊れないようにする参照整合性を守ることだと押さえよう。
Multiple Foreign Keys
a relation may contain multiple foreign keys when it needs to reference multiple parent keys or tables
foreign key for referential integrity\nmultiple foreign keys allowed\nnot necessarily unique
確認ポイント
- 外部キーは複数持てる。
- 一意性制約ではありません。
- 参照整合性のための属性です。
正解と解説を見る
正解
エ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
これは間違いだよ。外部キーの値は一意でなくてもいいんだ。たとえば注文表では、同じ顧客IDの人が何回も注文することがあるよね。これは“同じ会員番号の人が何度も窓口を利用する”ようなもの。外部キーは参照先を示すだけで、参照元の表の中で一つだけに限定される必要はないよ。
選択肢イ
これは間違いだよ。外部キーと、それが指す候補キーは比べられる形でないといけないよ。たとえば会員番号を照合するのに、片方が数字の会員番号、もう片方が氏名だけだったら照合できないよね。鍵穴と鍵の形が合っていない合鍵みたいなものだから、参照先のキーと比較可能である必要があるよ。
選択肢ウ
これは間違いだよ。外部キーは「別の表にある本物の番号を指すメモ」みたいなもの。たとえば注文表に顧客IDを書くなら、その顧客IDは顧客表に実在していないと困るよね。存在しない顧客を指してよい、というのは“宛先不明の住所に荷物を送る”ような話なので、参照整合性に反するよ。
選択肢エ(正解)
これは正しいよ。一つの表に外部キーが複数あっても問題ないんだ。たとえば注文表には、顧客IDで顧客表を指し、商品IDで商品表を指し、担当者IDで社員表を指すことがあるよね。これは“申込書にお客さん番号、商品番号、担当者番号を書く”ようなもので、複数の窓口を参照していても自然だよ。
出典:独立行政法人 情報処理推進機構(IPA)平成26年度春期 情報処理安全確保支援士試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針