情報処理安全確保支援士試験 令和6年秋期午前Ⅱ 外部キー
出典:令和6年秋期 午前Ⅱ 問21
分野:データベース / データベース設計
関係モデルにおける外部キーに関する記述のうち,適切なものはどれか。
- ア:外部キーの値は,その関係の中で一意でなければならない。
- イ:外部キーは,それが参照する候補キーと比較可能でなくてもよい。
- ウ:参照先の関係に,参照元の外部キーの値と一致する候補キーが存在しなくてもよい。
- エ:一つの関係に外部キーが複数存在してもよい。
TSUNAGARU-ADVICE
まず押さえたいこと
外部キーは、別の関係の候補キーを参照して、表同士の関連を表すための属性です。一つの関係に外部キーが複数あっても問題ありません。
迷ったときの判断軸
外部キーは主キーのように一意である必要はありません。また、参照先には外部キーの値と一致する候補キーが存在する必要があります。したがって、一つの関係に複数の外部キーをもてると整理すると判断しやすくなります。
科目Bにつなげるために
科目Bでは、表定義やER図を見て、どの列がどの表を参照しているのかを読み取る力が問われます。外部キーは一意性を保証するものではなく、参照整合性を保つための仕組みとして理解しておきましょう。※DB関連試験向け
外部キーは、他の関係(表)の候補キーや主キーを参照するための属性です。
一つの関係には、複数の外部キーを定義できます。例えば、受注明細表に「商品コード」と「顧客コード」のように、複数の表を参照する外部キーを持たせることがあります。
したがって、エが適切です。
❌他選択肢が誤りの理由ア:外部キーの値は,その関係の中で一意でなければならない。
⇒一意でなければならない、という点で違います。外部キーの値は重複してもよく、一意性が必要なのは参照先の候補キーや主キーです。
イ:外部キーは,それが参照する候補キーと比較可能でなくてもよい。
⇒比較可能でなくてもよい、という点で違います。外部キーは参照先の候補キーと対応し、比較可能な属性である必要があります。
ウ:参照先の関係に,参照元の外部キーの値と一致する候補キーが存在しなくてもよい。
⇒一致する候補キーが存在しなくてもよい、という点で違います。参照整合性を保つため、外部キーの値は原則として参照先の候補キーの値と一致する必要があります。