過去問解きまくり研究所 ホーム

平成25年度 春期 午前 問30

データベース

参照制約に関する問題

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

答えと解説を見る

✓ これが正解アCASCADE

解説

親を消すと子も連鎖して消える指定です。

A 表の行を消すと、それを参照していた B 表の行は、存在しない相手を指したまま取り残されます。この宙に浮いた行を放っておくと表どうしのつじつまが合わなくなりますので、外部キーを宣言するときには、親が消えたら何をするかをあらかじめ決めておきます。この決めごとが参照動作で、四つの字句のうち動作を表しているのは二つだけです。設問は、参照している行も同時に全て削除すると明言していますから、子の行を親と一緒に消すほうを選びます。滝が段々に落ちるように、親から子へ、子から孫へと削除が伝わっていく形です。残りの二つは、参照制約を書くときに同じ一文の中へ並んで現れる字句で、制約に名前を付ける役目と、どの表のどの列を指すのかを書く役目を持ちます。三つとも一本の文の中に同居しますので、見たことがあるという理由では選べません。何をするかを決めているのはどれか、という一点で読み分けてください。

ほかの選択肢はなぜ違うのか

出典:平成25年度 春期 応用情報技術者試験 午前 問30

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)