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