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