修了試験 2014-07-27実施分 基本情報技術者試験 問30
関係データベースの"注文"表の"顧客番号"は,"顧客"表の主キー"顧客番号"を参照する外部キーである。 このとき,参照の整合性を損なうデータ操作はどれか。 ここで,ア〜エの記述におけるデータの並びは,それぞれの表の列の並びと同順とする。 注文 伝票番号|顧客番号 0001|C005 0002|K001 0003|C005 0004|D010 顧客 顧客番号|顧客名 C005|福島 D010|千葉 K001|長野 L035|宮崎
正答3
解説
正解は3です。 参照の整合性とは、外部キーの値が、参照先の表の主キーに必ず存在する状態を保つことです。 注文表の顧客番号は顧客表に存在する顧客番号でなければならないので、各操作の後にこの条件が崩れるかを調べます。 【選択肢別解説】 1:× 顧客表のL035(宮崎)は、注文表のどの行からも参照されていません。 削除しても参照先を失う注文はないので、整合性は保たれます。 2:× 追加する行の顧客番号D010は、顧客表に存在します(千葉)。 参照先があるので、整合性は保たれます。 3:○ 追加する行の顧客番号F020は、顧客表に存在しません。 参照先のない外部キーの値ができてしまうので、参照の整合性が損なわれます。 4:× 注文表は参照する側の表です。 参照する側の行を削除しても、参照先を失う行は生じないので、整合性は保たれます。 【ポイント】 参照の整合性を損なうのは、参照する側に存在しない値を追加・更新する操作と、参照されている側の行を削除・更新する操作です。 どちらの表が参照する側かを最初に確認しましょう。まとめて解く
修了試験 2014-07-27実施分を通しで解く(80問)→