戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2013年 春期 午前230


問題文

A表は外部キーによってB表から参照されている。ここで,A表の行を削除するとき、それを参照しているB表の行を同時に全て削除することを指定するSQLの参照動作はどれか。

選択肢

CASCADE(正解)
CONSTRAINT
NO ACTION
REFERENCES

外部キーの参照動作に関する問題【午前2 解説】

要点まとめ

  • 結論:A表の行削除時にB表の参照行も同時に削除する参照動作は「CASCADE」です。
  • 根拠:CASCADEは外部キー制約で親テーブルの変更に連動して子テーブルの行を自動的に更新・削除します。
  • 差がつくポイント:CASCADE以外の選択肢は参照制約の定義や動作を示す用語であり、削除連鎖を意味しません。

正解の理由

「CASCADE」は外部キー制約のオプションで、親テーブルの行が削除または更新された際に、それを参照する子テーブルの行も自動的に削除または更新される動作を指定します。
この問題では、A表の行削除時にB表の参照行も同時に削除する動作を求めているため、正解はア: CASCADEです。

よくある誤解

CONSTRAINTは制約の定義自体を指し、動作ではありません。
NO ACTIONは削除を拒否する動作であり、連鎖削除とは逆の意味です。

解法ステップ

  1. 問題文で「A表の行削除時にB表の行も同時に削除」とあることを確認する。
  2. 外部キー制約の参照動作の種類を思い出す。
  3. 「CASCADE」が連鎖削除を意味することを理解する。
  4. 他の選択肢の意味を確認し、該当しないことを確認する。
  5. 正解を「CASCADE」と判断する。

選択肢別の誤答解説

  • ア: CASCADE → 正解。親テーブルの削除に連動して子テーブルも削除する。
  • イ: CONSTRAINT → 制約の定義を示すキーワードで、動作ではない。
  • ウ: NO ACTION → 親テーブルの削除時に子テーブルの参照がある場合、削除を拒否する動作。
  • エ: REFERENCES → 外部キー制約を定義する際に使うキーワードで、動作指定ではない。

補足コラム

外部キー制約の参照動作には主に「CASCADE」「SET NULL」「NO ACTION」「RESTRICT」などがあります。
CASCADEはデータの整合性を保ちながら親子関係のデータを一括管理できるため、設計時に適切に使うことが重要です。

FAQ

Q: CASCADEは更新時にも使えますか?
A: はい。CASCADEは親テーブルの更新時にも子テーブルの該当列を自動更新します。
Q: NO ACTIONとRESTRICTの違いは何ですか?
A: 両者は似ていますが、NO ACTIONはトランザクション終了時にチェックし、RESTRICTは即時にチェックします。

関連キーワード: 外部キー制約、参照動作、CASCADE, SQL, 連鎖削除
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について