平成23年度秋期 応用情報技術者試験 午前 問30
更新可能なビューを作成するSQL文はどれか。ここで,SQL文中に現れる表は全て更新可能とする。
- ア CREATE VIEW 高額商品(商品番号,商品名,商品単価) AS SELECT 商品番号,商品名,商品単価 FROM 商品 WHERE 商品単価>1000
- イ CREATE VIEW 受注商品(商品番号) AS SELECT DISTINCT 商品番号 FROM 受注
- ウ CREATE VIEW 商品受注(商品番号,受注数量) AS SELECT 商品番号,SUM(受注数量) FROM 受注 GROUP BY 商品番号
- エ 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に帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。