IPA過去問ドリル

平成23年度 特別 基本情報技術者試験 午前 問31

テクノロジ/データベース

"商品"表のデータが次の状態のとき,〔ビュー定義〕で示すビュー"収益商品"の行数が減少する更新処理はどれか。 商品:商品コードS001,品名T,型式T2003,売値150,000,仕入値100,000 商品コードS003,品名S,型式S2003,売値200,000,仕入値170,000 商品コードS005,品名R,型式R2003,売値140,000,仕入値80,000 〔ビュー定義〕 CREATE VIEW 収益商品 AS SELECT * FROM 商品 WHERE 売値 - 仕入値 >= 40000

出典:平成23年度 特別 基本情報技術者試験 午前 問31

正解:ア

解説

ビュー"収益商品"は,売値-仕入値が40000以上の商品だけを抽出しています。行数が減少するのは,条件を満たしていた商品が条件を満たさなくなる更新です。S001は売値150,000-仕入値100,000=50,000で条件を満たしていますが,売値を130,000に更新すると130,000-100,000=30,000となり,40,000未満になるため,ビューから除外され行数が減少します。

選択肢ごとの解説

  • 正しい。S001の売値を130,000に更新すると差額が30,000になり,条件(40,000以上)を満たさなくなるため,ビューの行数が減少します。
  • 誤り。S003はもともと差額30,000で条件を満たしておらずビューに含まれていないため,仕入値を150,000に更新しても差額はさらに小さくなるだけで,行数に変化はありません。
  • 誤り。S005はもともと差額60,000で条件を満たしていますが,売値を130,000に更新しても差額は130,000-80,000=50,000で依然40,000以上を満たすため,行数は減少しません。
  • 誤り。S005の仕入値を90,000に更新すると差額は140,000-90,000=50,000となり,依然として条件を満たすため,行数は減少しません。
基本情報技術者の過去問を演習モードで解く