平成22年 秋期 基本情報技術者 午前 問31

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

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

商品
商品番号 商品名 仕入先番号 単価
S001 A XX0001 18,000
S002 A YY0002 20,000
S003 B YY0002 35,000
S004 C ZZ0003 40,000
S005 C XX0001 38,000

 ア  UPDATE 商品 SET 商品番号=’S001’ WHERE 商品番号=’S002’
 イ  UPDATE 商品 SET 商品番号=’S006’ WHERE 商品名=’C’
 ウ  UPDATE 商品 SET 商品番号=NULL WHERE 商品番号=’S002’
 エ  UPDATE 商品 SET 商品名=’D’ WHERE 商品番号=’S003’


答え エ


解説
UPDATE文は『UPDATE 表の名前 SET 変更する項目=’変更する値’ WHERE 変更するデータの条件となる項目=’変更する条件の値’』に、なります。
選択肢アの「UPDATE 商品 SET 商品番号=’S001’ WHERE 商品番号=’S002’」では、『“商品”という表の、“商品番号がS002”であるデータの“商品番号をS001”に変更する。』となります。

 ア  変更した結果、主キーである商品番号に重複が発生するので更新できません。(S001が2つになります。)
 イ  変更した結果、主キーである商品番号に重複が発生するので更新できません。(S006が2つになります。)
 ウ  変更した結果、主キーである商品番号がNULLになりますので更新できません。
 エ  商品番号:S003の商品名がDに変更(更新)できます。
問題のCREATE文の意味を説明します。

 CREATE TABLE 商品
  (商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT,
  PRIMARY KEY(商品番号))
  • CREATE TABLE 商品
    “商品”という表(Table)を作りますという宣言です。
  • 商品番号 CHAR(4), 商品名 CHAR(20), 仕入先番号 CHAR(6), 単価 INT
    表の中の各項目のデータの属性です。
    “商品番号 CHAR(4)”は、商品番号の項目は4文字の文字列
    “単価 INT”は、単価は整数
  • PRIMARY KEY(商品番号)
    この表の主キーが商品番号であると設定しています。


キーワード
・表

キーワードの解説
  • 表(Table)
    表は関係データベースからSQL言語を使って作り出します。
    表には、主キー(PRIMARY KEY)という、表の中でユニークな情報があり、この情報を基に表は構成されています。また、主キーは表の中でユニークであるとともに、値がないといけません。(NULLはだめ。)
    表を作り出すのはSQLのCREATE文で、更新(修正)するのはUPDATE文です。

もっと、「表(Table)」について調べてみよう。

戻る 一覧へ 次へ