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