参照制約で拒否される操作
出典: 平成28年度 春期 応用情報技術者試験 午前 問29 (IPA)
次の表において,“在庫”表の製品番号に定義された参照制約によって拒否される可能性がある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。
在庫(在庫管理番号,製品番号,在庫量)
製品(製品番号,製品名,型,単価)

- ア “在庫”表の行削除
- イ “在庫”表の表削除
- ウ “在庫”表への行追加
- エ “製品”表への行追加
正解と解説を見る
正解: ウ
- ア: “在庫” 表は参照する側なので、行を削除しても参照制約に違反しません。
- イ: “在庫” 表は参照する側なので、表を削除しても参照制約に違反しません。
- ウ: “製品” 表に存在しない製品番号の行を追加しようとすると拒否されるので正しい答えです。
- エ: “製品” 表は参照される側なので、行を追加しても参照制約に違反しません (削除や更新は拒否されることがあります)。
ポイント
- “在庫” 表の製品番号は、“製品” 表の製品番号を参照する 外部キー です。
- 参照制約 によって、“製品” 表に 存在しない製品番号 をもつ行を “在庫” 表に追加しようとすると拒否されます。
- “在庫” 表の行や表を削除しても、参照される側ではないので制約違反にはなりません。