平成28年度 高度共通 午前I(PM試験) 問9
次の表において,"在庫"表の製品番号に定義された参照制約によって拒否される可能性がある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。 在庫(在庫管理番号,製品番号,在庫量) 製品(製品番号,製品名,型,単価)
- ア "在庫"表の行削除
- イ "在庫"表の表削除
- ウ "在庫"表への行追加
- エ "製品"表への行追加
解答・解説を見る
正解:ウ
AI解説
参照制約(外部キー制約)は、外部キーの値が参照先の表の主キーに必ず存在することを保証する。在庫表の製品番号は製品表の主キーを参照する外部キーなので、製品表に存在しない製品番号をもつ行を在庫表へ追加しようとすると制約違反で拒否される可能性がある。よってウが正解である。 ア: 在庫表は参照する側なので、その行を削除しても参照整合性は崩れず、拒否されない。 イ: 在庫表(参照する側)の表削除も、参照される側の製品表の整合性に影響しないため、この参照制約では拒否されない。 ウ: 正解。追加する行の製品番号が製品表に存在しない場合、参照制約違反となり行追加が拒否される。 エ: 製品表への行追加は参照される側にデータが増えるだけであり、参照整合性を損なわないため拒否されない。 💡 参照制約で拒否され得るのは「参照する側(外部キー側)への追加・更新」と「参照される側(主キー側)の削除・更新」。どちらの表が参照する側かを矢印で図示して考えると間違えない。
出典:平成28年度 秋期 プロジェクトマネージャ試験 午前I 問9 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。