応用情報技術者平成25年春期 午前問30

午前問30

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

分類

テクノロジ系 » データベース » データ操作

正解

解説

関係データベース管理システムでは、参照整合性を維持する観点から、ある行が削除・更新された後に当該の行の値を参照する他の行が別表に残ってしまうことを許しません。SQLでは、データ操作によってこのようなことが起きた場合に発生させる5種類の参照操作(CASCADE,RESTRICT,NO ACTION,SET NULL,SET DEFAULT)を規定しています。
30.gif/image-size:467×262
本問では、参照先(A表)の行が削除されたときに、参照元(B表)の対応する行を自動的に削除したいので、"B表の外部キー属性の定義に「ON DELETE CASCADE」を記述することになります。
  • 正しい。CASCADEは、参照される側の行が削除・更新された場合、それを参照する側の行も同時に削除・更新する指定です。
  • CONSTRAINTは、CREATE TABLE文や、ALTER TABLE文において制約条件の明細を指定する句です。
  • NO ACTIONは、参照制約性を損なう削除や更新処理の要求に対してエラーを出力する指定です。
  • REFERENCESは、外部キーの参照先となる表名と列名を指定する句です。
© 2010-2020 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop