応用情報技術者試験 平成30年春 午前問28 解説付き過去問
問題
SQLにおいて、A表の主キーがB表の外部キーによって参照されている場合、各表の行を追加・削除する操作の参照制約について、正しく整理した図はどれか。
ここで、△印は操作が拒否される場合があることを表し、○印は制限なしに操作ができることを表す。
ここで、△印は操作が拒否される場合があることを表し、○印は制限なしに操作ができることを表す。
正解
解説
この問題は、関係データベースにおける参照整合性制約(外部キー制約)に関して、行の追加や削除操作がどのように制限されるかを正しく理解しているかを問うものです。
- 参照整合性制約の概要
A表が親表(主キーを持つ)で、B表が子表(外部キーでA表の主キーを参照)である場合、参照整合性を保つためにいくつかの制約が生じます。
この制約により、子表の外部キーには、親表に存在する主キーの値しか登録できません。これにより、データベース内の整合性が保証されます。 - 操作ごとの可否判定
各表に対する追加・削除操作の影響を以下に整理します。- A表への追加:
子表Bには影響を与えないため、制限なく行うことができます(○)。 - A表からの削除:
B表にて該当主キーが外部キーとして使用されている場合、参照整合性が崩れるため削除は拒否されます(△)。 - B表への追加:
外部キーに指定する値がA表に存在しない場合、参照整合性違反となり追加は拒否されます(△)。 - B表からの削除:
参照される側(A表)には影響しないため、削除は制限なく可能です(○)。
- A表への追加: