データ操作(全60問中48問目)

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
"商品"表のデータが次の状態のとき,〔ビュー定義〕で示すビュー"収益商品"表に現れる行数が減少する更新処理はどれか。
61.png
〔ビュー定義〕
CREATE VIEW 収益商品
  AS SELECT * FROM 商品
    WHERE 売値 - 仕入値 >= 40000

出典:平成19年秋期 問61

  • 商品コードがS001の行の売値を130,000に更新する。
  • 商品コードがS003の行の仕入値を150,000に更新する。
  • 商品コードがS005の行の売値を130,000に更新する。
  • 商品コードがS005の行の仕入値を90,000に更新する。
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データ操作
解説
〔ビュー定義〕の「WHERE 売値-仕入値 >= 40000」の部分から売値と仕入値の差が40,000以上である行を抽出してビューとする文であることがわかります。

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

以上を踏まえて、更新処理によりビューがどう変化するかを考えます。
  • 正しい。S001の売値と仕入値の差は「130,000-100,000=30,000」に変化するので、S001の行がビューに表示されなくなります。これによりビューに現れる行数が2行から1行に減少します。
  • S003の売値と仕入値の差は「200,000-150,000=50,000」に変化するので、ビューに現れる行はS001・S003・S005の3行に増加します。
  • S005の売値と仕入値の差は「130,000-80,000=50,000」に変化しますが、S005の行はもともとビューに表示されているので行数に変化はありません。
  • S005の売値と仕入値の差は「140,000-90,000=50,000」に変化しますが、S005の行はもともとビューに表示されているので行数に変化はありません。

この問題の出題歴


Pagetop