データベース
平成22年度 秋期 基本情報技術者試験 午前 問31
“商品”表に対してデータの更新処理が正しく実行できる UPDATE 文はどれか。ここで,“商品”表は次の CREATE 文で定義されている。
CREATE TABLE 商品
(商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT,
PRIMARY KEY(商品番号))
商品
| 商品番号 | 商品名 | 仕入先番号 | 単価 |
|---|---|---|---|
| S001 | A | XX0001 | 18000 |
| S002 | A | YY0002 | 20000 |
| S003 | B | YY0002 | 35000 |
| S004 | C | ZZ0003 | 40000 |
| S005 | C | XX0001 | 38000 |
答えを選ぶ
出典:平成22年度 秋期 基本情報技術者試験 午前 問31(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:エ
覚える知識
主キー制約違反の判定(UPDATE文)
主キーの列は値が重複せずNULLにもできないため、更新でこれを破る文は実行時にエラーとなる。
この問題で必要なこと
主キーは一意でNULL不可。商品番号を更新するUPDATEは、既存値との重複や複数行が同じ値になる場合、NULL設定の場合に制約違反となる。商品名の更新は主キーに影響せず正しく実行できる。
ひっかけ
商品名'C'に該当する複数行の主キーを同じ値に更新してしまう文などを正しいと誤認させる。
この知識の出題:本試験系 2 回・免除試験 4 回(公開問題での観測値)