平成23年度 秋期 応用情報技術者試験 午前 問30
テクノロジ/データベース更新可能なビューを作成する SQL 文はどれか。ここで,SQL 文中に現れる表は全て更新可能とする。
出典:平成23年度 秋期 応用情報技術者試験 午前 問30
- ア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 受注
正解:ア
解説
更新可能なビューは,単純な射影・選択(1つの表からの列選択・行選択)で定義されたビューです。選択肢アはWHERE句による行の絞り込みのみで,集約関数やDISTINCTを含まないため更新可能です。他の選択肢はDISTINCT,GROUP BYとSUM,AVGを含み,元の行との対応が一意に定まらないため更新できません。
選択肢ごとの解説
- ア正しい。単純な列選択とWHERE条件だけで定義されたビューは更新可能です。
- イ誤り。DISTINCTを含むビューは,行の重複除去によって元の行との対応が一意に定まらず,更新できません。
- ウ誤り。GROUP BYとSUMによる集約結果のビューは,元の行との対応が失われるため更新できません。
- エ誤り。AVGなどの集約関数の結果だけのビューは,元の行に対応付けられないため更新できません。