図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると,対応する“注文明細”表の行が,自動的に削除されるようにしたい。SQL文のON DELETE句に指定する語句はどれか。ここで,図中の実線の下線は主キーを,破線の下線は外部キーを表す。
注文
| 注文番号(主キー) | 注文日 | 顧客番号(外部キー) |
|---|
注文明細
| 注文番号(主キー) | 明細番号(主キー) | 商品番号(外部キー) | 数量 |
|---|
テクノロジ系
図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると,対応する“注文明細”表の行が,自動的に削除されるようにしたい。SQL文のON DELETE句に指定する語句はどれか。ここで,図中の実線の下線は主キーを,破線の下線は外部キーを表す。
注文
| 注文番号(主キー) | 注文日 | 顧客番号(外部キー) |
|---|
注文明細
| 注文番号(主キー) | 明細番号(主キー) | 商品番号(外部キー) | 数量 |
|---|
正解 ア
親表の行を削除したとき、参照している子表の行も連動して削除させる指定はON DELETE CASCADEです。
参照制約(外部キー制約)では、被参照表の行を削除したときの動作をON DELETE句で指定します。CASCADEを指定すると、削除が参照している側の行にも連鎖し、対応する行が自動的に削除されます。“注文明細”表の注文番号が“注文”表の注文番号を参照する外部キーなので、“注文明細”表の外部キー定義にON DELETE CASCADEを付けます。これで、“注文”表の行を削除すると、同じ注文番号の“注文明細”表の行も削除されます。
イ:INTERSECTは、2つの問合せ結果の共通部分(積集合)を求める集合演算子です。ON DELETE句には指定しません。
ウ:RESTRICTは、参照している行が存在する場合に被参照表の行の削除を拒否する指定です。子表の行は自動削除されません。
エ:UNIQUEは、列の値が表内で重複しないことを保証する一意性制約です。削除時の動作の指定ではありません。
出典:令和元年度 秋期 応用情報技術者試験 問27
全年度から出題。10問で実力を判定します。登録不要。
出典:令和元年度 秋期 応用情報技術者試験 問27(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方