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

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


問題文

図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると、対応する“注文明細”表の行が、自動的に削除されるようにしたい。参照制約定義の削除規則(ON DELETE)に指定する語句はどれか。ここで、図中の実線の下線は主キーを、破線の下線は外部キーを表す。
応用情報技術者 2023年 春期 午前2 問30の問題画像

選択肢

CASCADE(正解)
INTERSECT
RESTRICT
UNIQUE

参照制約の削除規則(ON DELETE)【午前2 解説】

要点まとめ

  • 結論:親テーブルの行削除時に子テーブルの関連行も自動削除するには「CASCADE」を指定します。
  • 根拠:CASCADEは参照整合性を保つため、親の削除に連動して子の行も削除する削除規則です。
  • 差がつくポイント:ON DELETEの動作を正確に理解し、CASCADEとRESTRICTの違いを押さえることが重要です。

正解の理由

「注文」表の行を削除した際に、「注文明細」表の該当する行も自動的に削除したい場合、ON DELETEに「CASCADE」を指定します。CASCADEは親テーブルの行削除に連動して子テーブルの関連行も削除するため、整合性を保ちながら不要なデータを残しません。

よくある誤解

  • RESTRICTは削除を禁止するため、親の行削除時に子の行が存在するとエラーになります。
  • INTERSECTやUNIQUEは参照制約の削除規則ではなく、SQLの別の機能や制約です。

解法ステップ

  1. 問題文の「親テーブル(注文)」と「子テーブル(注文明細)」の関係を確認する。
  2. 「親の行削除時に子の行も自動削除したい」という要件を理解する。
  3. ON DELETEの削除規則の種類(CASCADE, RESTRICTなど)を思い出す。
  4. 自動削除を実現するのはCASCADEであると判断する。
  5. 選択肢から「CASCADE」を選ぶ。

選択肢別の誤答解説

  • イ: INTERSECT
    SQLの集合演算子であり、参照制約の削除規則ではありません。
  • ウ: RESTRICT
    親の行削除を禁止する規則で、自動削除は行いません。
  • エ: UNIQUE
    一意制約を表す用語で、削除規則とは無関係です。

補足コラム

参照制約のON DELETEには主に「CASCADE」「RESTRICT」「SET NULL」「NO ACTION」などがあります。CASCADEは親の削除に連動して子も削除し、RESTRICTは親の削除を禁止します。SET NULLは子の外部キーをNULLに更新し、NO ACTIONは制約違反があればエラーとなります。用途に応じて適切な削除規則を選択することが重要です。

FAQ

Q: ON DELETE CASCADEを使うとどんなメリットがありますか?
A: 親テーブルの行削除時に関連する子テーブルの行も自動的に削除され、データの整合性を保てます。
Q: RESTRICTとCASCADEの違いは何ですか?
A: RESTRICTは親の行削除を禁止し、CASCADEは親の行削除に連動して子の行も削除します。

関連キーワード: 参照制約、ON DELETE, CASCADE, 外部キー、データベース整合性、削除規則
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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