HOME»基本情報技術者平成17年秋期»午前問61
基本情報技術者平成17年秋期 午前問61
問61
"商品"表のデータが次の状態のとき,〔ビュー定義〕で示すビュー"収益商品"表に現れる行数が減少する更新処理はどれか。〔ビュー定義〕
CREATE VIEW 収益商品
AS SELECT * FROM 商品
WHERE 売値-仕入値 >= 40000
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」の部分から売値と仕入値の差が40,000以上である行を抽出してビューとする文であることがわかります。
更新処理前の"商品"表のデータにWHERE句の条件を適用すると
以上を踏まえて、更新処理によりビューがどう変化するかを考えます。
更新処理前の"商品"表のデータにWHERE句の条件を適用すると
- S001:150,000-100,000=50,000
- S003:200,000-170,000=30,000
- S005:140,000-80,000=60,000
以上を踏まえて、更新処理によりビューがどう変化するかを考えます。
- 型式R2003(商品コードS005)の売値と仕入値の差は「130,000-80,000=50,000」に変化しますが、もともと差が40,000よりも大きかったのでビューに現れる行数に変化はありません。
- 型式R2003(商品コードS005)の売値と仕入値の差は「140,000-90,000=50,000」に変化しますが、もともと差が40,000よりも大きかったのでビューに現れる行に変化はありません。
- 型式S2003(商品コードS003)の売値と仕入値の差は「200,000-150,000=50,000」に変化するので、ビューに現れる行はS001・S003・S005の3行に増加します。
- 正しい。型式T2003(商品コードS001)の売値と仕入値の差は「130,000-100,000=30,000」に変化するので、ビューに型式T2003の行が表示されなくなります。これによりビューに現れる行数が2行から1行に減少します。