SkillStack
テクノロジ系30 / 80問

応用情報技術者試験 令和5年度 春期 午前 問30

図のような関係データベースの"注文"表と"注文明細"表がある。"注文"表の行を削除すると、対応する"注文明細"表の行が、自動的に削除されるようにしたい。参照制約定義の削除規則(ON DELETE)に指定する語句はどれか。ここで、図中の実線の下線は主キーを、破線の下線は外部キーを表す。

応用情報技術者試験 令和5年度 春期 午前 問30の図表

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ア

図では、注文表の注文番号が主キーであり、注文明細表の注文番号は、注文表の注文番号を参照する外部キーです。注文を削除したとき、その注文番号をもつ注文明細も自動的に削除するには、外部キーの参照制約にON DELETE CASCADEを指定します。CASCADEは「連鎖させる」という意味で、参照される親表の行に対する削除を、参照している子表の行にも波及させます。これによって、親となる注文が存在しない注文明細が残ることを防げます。

イのINTERSECTは誤りです。これは二つの問合せ結果に共通して含まれる行を取り出す集合演算です。参照制約の削除規則を指定する語句ではありません。

ウのRESTRICTは誤りです。これは、削除対象の親行を参照する子行が存在するとき、親行の削除を拒否する削除規則です。注文明細が残っている限り注文を削除できないため、子行を自動削除するという要件には合いません。

エのUNIQUEは誤りです。これは、列又は列の組合せに同じ値が重複して格納されることを禁止する一意性制約です。親行を削除した際の子行の扱いを定める機能ではありません。

【ポイント】 CASCADEは子行まで連鎖削除し、RESTRICTは子行が存在する場合に親行の削除を拒否します。 ほかの代表的な削除規則には、外部キーをNULLにするSET NULLなどがあります。

出典:令和5年度 春期 応用情報技術者試験 午前 問30
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める