問題プレビューID: 674ae72f

問 31

“商品”表に対してデータの更新処理が正しく実行できる UPDATE 文はどれか。ここで,“商品”表は次の CREATE 文で定義されている。

CREATE TABLE 商品
  (商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT,
   PRIMARY KEY(商品番号))

商品

商品番号商品名仕入先番号単価
S001AXX000118000
S002AYY000220000
S003BYY000235000
S004CZZ000340000
S005CXX000138000
解説

“商品”表の主キーは“商品番号”であり,主キーには重複した値も NULL も設定できない。

  • ア: 商品番号 S002 の行の商品番号を既に存在する S001 に変更するため,主キーの値が重複してしまう。
  • イ: 商品名が 'C' の行は S004 と S005 の 2 行あり,いずれも商品番号を 'S006' に変更すると主キーの値が重複してしまう。
  • ウ: 商品番号 S002 の行の商品番号を NULL に変更するが,主キーに NULL は設定できない。
  • エ: 商品番号 S003 の行の商品名だけを 'D' に変更するもので,主キーを変更せず非キー項目を更新するだけなので正しく実行できる。

以上から,正しく実行できるのはエである。