平成23年度秋期 応用情報技術者試験 午前 問30

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

更新可能なビューを作成するSQL文はどれか。ここで,SQL文中に現れる表は全て更新可能とする。

  1.  CREATE VIEW 高額商品(商品番号,商品名,商品単価) AS SELECT 商品番号,商品名,商品単価 FROM 商品 WHERE 商品単価>1000
  2.  CREATE VIEW 受注商品(商品番号) AS SELECT DISTINCT 商品番号 FROM 受注
  3.  CREATE VIEW 商品受注(商品番号,受注数量) AS SELECT 商品番号,SUM(受注数量) FROM 受注 GROUP BY 商品番号
  4.  CREATE VIEW 商品平均受注数量(平均受注数量) AS SELECT AVG(受注数量) FROM 受注
解答・解説を見る

正解:ア

AI解説

ビューが更新可能であるためには、ビューの各行・各列が基の実表の行・列と1対1に対応している必要がある。DISTINCT、GROUP BY、集約関数(SUM、AVGなど)、結合などを含むビューは、実表のどの行を更新すべきか特定できないため更新不可となる。単純なSELECT列指定とWHERE条件だけのアは更新可能である。 ア: 正しい。商品表から条件(商品単価>1000)で行を絞り、列をそのまま射影しただけのビューであり、実表の行と1対1に対応するため更新可能である。 イ: DISTINCTで重複行を除去しているため、ビューの1行が実表の複数行に対応し得る。どの行を更新すべきか特定できず更新不可である。 ウ: GROUP BYと集約関数SUMを使っており、ビューの1行が複数行の集計結果であるため更新不可である。 エ: 集約関数AVGの結果は表全体の計算値であり、特定の行に対応しないため更新不可である。 💡 更新不可ビューのキーワードは「DISTINCT・GROUP BY・集約関数(SUM/AVG/COUNTなど)・演算列」。これらが含まれたら更新不可と即断できる。

出典:平成23年度 秋期 応用情報技術者試験 午前 問30 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問