関係データベースにおける更新可能なビューの定義条件

SQL 標準において,ビューに対する INSERT,UPDATE,DELETE などの更新操作が基底表へ一意に反映可能であるための主な条件は以下のとおりです。 FROM 句に現れる基底表が単一であること DISTINCT を含意・指定しないこと GROUP BY 句や HAVING 句を含まないこと SELECT 句に集約関数(SUM, AVG, COUNT, MIN, MAX 等)を含まないこと 集合演算(UNION, EXCEPT, INTERSECT 等)を含まないこと 選択肢アのビューは,単一の「商品」表から特定の列を射影し,WHERE 句で絞り込んでいるだけ(単純な選択・射影ビュー)であるため,ビューの行と基底表の行が 1 対 1 に対応し,完全に更新可能です。したがって正解はアとなります。 各選択肢の解説は以下のとおりです。 DISTINCT が指定されているため,行と基底表の対応が一意に定まらず更新不可です。 GROUP BY 句および集約関数 SUM を含んでいるため更新不可です。 集約関数 AVG を含んでいるため更新不可です。

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

出典令和5年度 秋期 応用情報技術者試験 午前 問28
ア
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 受注