平成25年度春期 応用情報技術者試験 午前 問30
A表は外部キーによってB表から参照されている。ここで,A表の行を削除するとき,それを参照しているB表の行を同時に全て削除することを指定するSQLの参照動作はどれか。
- ア CASCADE
- イ CONSTRAINT
- ウ NO ACTION
- エ REFERENCES
解答・解説を見る
正解:ア
AI解説
正解はア。参照制約における参照動作の指定で、CASCADE(連鎖)は、被参照表(A表)の行の削除・更新を、それを参照している表(B表)の行に連鎖させるオプションである。ON DELETE CASCADEと指定すると、親の行を削除したとき参照している子の行も自動的に全て削除される。 ア: 正しい。CASCADEは削除・更新を参照元の行へ連鎖させる参照動作で、ON DELETE CASCADEにより同時削除が実現される。 イ: 誤り。CONSTRAINTは制約に名前を付けて定義する際のキーワードであり、参照動作そのものではない。 ウ: 誤り。NO ACTIONは参照されている行の削除・更新を許さない(エラーにする)参照動作で、連鎖削除とは逆の動作である。 エ: 誤り。REFERENCESは外部キーが参照する表と列を指定するキーワードであり、削除時の動作指定ではない。 💡 CASCADEは「滝が連なって流れ落ちる」の意で、親の変更が子へ連鎖するイメージ。参照動作はCASCADE(連鎖)/NO ACTION・RESTRICT(禁止)/SET NULL(NULLにする)の違いを整理しておく。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。