平成28年度春期 応用情報技術者試験 午前 問29
次の表において,“在庫”表の製品番号に定義された参照制約によって拒否される可能性がある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。 在庫(在庫管理番号,製品番号,在庫量) 製品(製品番号,製品名,型,単価)
- ア “在庫”表の行削除
- イ “在庫”表の表削除
- ウ “在庫”表への行追加
- エ “製品”表への行追加
解答・解説を見る
正解:ウ
AI解説
正解はウ。参照制約(外部キー制約)は、外部キーの値が参照先の表の主キーに必ず存在することを保証する制約である。“在庫”表の製品番号は“製品”表の主キーを参照する外部キーなので、“製品”表に存在しない製品番号をもつ行を“在庫”表に追加しようとすると制約違反で拒否される可能性がある。 ア: “在庫”表は参照する側なので、その行を削除しても参照整合性は崩れず、この制約では拒否されない。 イ: “在庫”表(参照する側)の表削除は、この参照制約によって拒否されることはない。参照される側の“製品”表の削除であれば拒否され得る。 ウ: “製品”表に存在しない製品番号の行を追加すると外部キーの参照先がなくなるため、拒否される可能性がある。これが正解。 エ: “製品”表(参照される側)への行追加は、既存の外部キーとの整合性を壊さないため拒否されない。 💡 『参照する側(外部キーをもつ表)への追加・更新』と『参照される側(主キーをもつ表)の削除・更新』が拒否され得る操作。どちらの表が参照する側かを最初に確定させるのがコツ。
出典:平成28年度 春期 応用情報技術者試験 午前 問29 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。