データベース

基本情報技術者試験 科目A免除 修了試験 20150726 実施分 問29

“商品”表に対してデータの更新処理が正しく実行できる UPDATE 文はどれか。ここで,“商品”表は次の CREATE 文で定義されている。 CREATE TABLE 商品 (商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT, PRIMARY KEY(商品番号))
商品表
商品番号商品名仕入先番号単価
S001AXX000118000
S002AYY000220000
S003BYY000235000
S004CZZ000340000
S005CXX000138000
  • ア UPDATE 商品 SET 商品番号 = 'S001' WHERE 商品番号 = 'S002'
  • イ UPDATE 商品 SET 商品番号 = 'S006' WHERE 商品名 = 'C'
  • ウ UPDATE 商品 SET 商品番号 = NULL WHERE 商品番号 = 'S002'
  • エ UPDATE 商品 SET 商品名 = 'D' WHERE 商品番号 = 'S003'

出典:基本情報技術者試験 科目A免除 修了試験 20150726 実施分 問29

答えと解説を見る

正解:エ

覚える知識

主キー制約違反の判定(UPDATE文)

主キー列は一意でNULLを含められないため、更新後に重複やNULLが生じるUPDATEは失敗する。

この問題で必要なこと

主キーは重複もNULLも許されない。商品番号を既存値に変える、NULLにする、複数行を同じ値にするUPDATEは制約違反。

ひっかけ

商品名が重複する更新は許されることを見落とさせ、主キーの重複・NULL・複数行更新で誤らせる。

この知識の出題:本試験系 2 回・免除試験 4 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「主キー・外部キーと整合性制約」で学ぶ

同じ知識の過去問