平成19年秋期試験午前問題 問61
問61解説へ
"商品"表のデータが次の状態のとき,〔ビュー定義〕で示すビュー"収益商品"表に現れる行数が減少する更新処理はどれか。
〔ビュー定義〕

CREATE VIEW 収益商品
AS SELECT * FROM 商品
WHERE 売値 - 仕入値 >= 40000
AS SELECT * FROM 商品
WHERE 売値 - 仕入値 >= 40000
- 商品コードがS001の行の売値を130,000に更新する。
- 商品コードがS003の行の仕入値を150,000に更新する。
- 商品コードがS005の行の売値を130,000に更新する。
- 商品コードがS005の行の仕入値を90,000に更新する。
広告
〔ビュー定義〕の"
更新処理前の"商品"表のデータに抽出条件をかけると
以上を踏まえて更新処理によりビューがどう変化するかを考えます。
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の売値と仕入値の差は130,000-100,000=30,000に変化するので、ビューに表示される行は"S005"だけに減少します。
- 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"はもともとビューに表示されているので行数に変化はありません。