データベース
基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問30
関係データベースの“注文”表の“顧客番号”は,“顧客”表の主キー“顧客番号”を参照する外部キーである。このとき,参照の整合性を損なうデータ操作はどれか。ここで,ア〜エの記述におけるデータの並びは,それぞれの表の列の並びと同順とする。
注文
顧客
| 伝票番号 | 顧客番号 |
|---|---|
| 0001 | C005 |
| 0002 | K001 |
| 0003 | C005 |
| 0004 | D010 |
| 顧客番号 | 顧客名 |
|---|---|
| C005 | 福島 |
| D010 | 千葉 |
| K001 | 長野 |
| L035 | 宮崎 |
- ア “顧客”表の行 [L035 | 宮崎] を削除する。
- イ “注文”表に行 [0005 | D010] を追加する。
- ウ “注文”表に行 [0006 | F020] を追加する。
- エ “注文”表の行 [0002 | K001] を削除する。
出典:基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問30
答えと解説を見る
正解:ウ
覚える知識
参照整合性制約による操作可否の判定
参照整合性は、外部キーの値が参照先の主キーに存在することを保証する制約。
この問題で必要なこと
外部キーは親表(顧客)に存在する値しか持てない。注文表にF020を追加すると、顧客表に存在しない値を参照するため整合性を損なう。
ひっかけ
顧客表のL035は参照されていないので削除しても問題ない。
この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)