基本情報技術者平成17年秋期 午前問61

午前問61

"商品"表のデータが次の状態のとき,〔ビュー定義〕で示すビュー"収益商品"表に現れる行数が減少する更新処理はどれか。
61.gif/image-size:348×108
〔ビュー定義〕
CREATE VIEW 収益商品
  AS SELECT * FROM 商品
    WHERE 売値−仕入値 >= 40000
  • 型式がR2003の売値を130,000に更新する。
  • 型式がR2003の仕入値を90,000に更新する。
  • 型式がS2003の仕入値を150,000に更新する。
  • 型式がT2003の売値を130,000に更新する。
  • [この問題の出題歴]
  • 基本情報技術者 H15秋期 問69
  • 基本情報技術者 H19秋期 問61
  • 基本情報技術者 H23特別 問31
  • 基本情報技術者 H24秋期 問29

分類

テクノロジ系 » データベース » データ操作

正解

解説

〔ビュー定義〕の
WHERE 売値−仕入値 >=40000
の部分から売値と仕入値の差が40000以上である行を抽出してビューとする文であることがわかります。

更新処理前の"商品"表のデータに抽出条件をかけると
  • S001: 150,000−100,000=50,000
  • S003: 200,000−170,000=30,000
  • S005: 140,000−80,000=60,000
となり、更新前のビューには"S001"および"S005"の2行が表示されていることがわかります。

以上を踏まえて更新処理によりビューがどう変化するかを考えます。
  • 型式R2003(商品コードS005)の売値と仕入値の差は130,000−80,000=50,000に変化しますが、差が40000よりも大きいのでビューに表示される行数に変化はありません。
  • 型式R2003(商品コードS005)の売値と仕入値の差は140,000−90,000=50,000に変化しますが、差が40000よりも大きいのでビューに表示される行に変化はありません。
  • 型式S2003(商品コードS003)の売値と仕入値の差は200,000−150,000=50,000に変化するので、ビューに表示される行は"S001","S003"および"S005"の3行に増加します。
  • 正しい。型式T2003(商品コードS001)の売値と仕入値の差は150,000−130,000=20,000に変化するので、ビューから"S001"が減少します。
© 2010-2020 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop