令和5年度 秋期 応用情報技術者試験 午前 問28
テクノロジデータベース
この問題は2023(R5)秋 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
更新可能なビューを作成する SQL文はどれか。ここで,SQL文に現れる基底表は全て更新可能とする。
解答・解説を読む
正解: 選択肢ア
ビューに対する更新(INSERT、UPDATE、DELETE)が、基となる実表(基底表)に直接反映できるものを 更新可能なビュー と呼びます。
ビューが更新可能であるためには、ビューの行と基底表の行が 1対1に対応 している必要があります。したがって、以下の要素を含むSELECT文で定義されたビューは元の行が特定できなくなるため 更新不可 となります。
- DISTINCT(重複排除)
- GROUP BY 句や HAVING 句によるグループ化
- 集約関数(
SUM、AVG、MAX、MIN、COUNTなど) - 複数の表の結合(JOIN)や集合演算(UNIONなど)
各選択肢の解説
- ア(正解):単一の基底表(商品)から
WHERE句での条件抽出のみを行っており、集約処理や重複排除を含まないため、更新可能です。 - イ:
DISTINCTキーワードが含まれており、重複排除が行われるため元の行が特定できず、更新不可です。 - ウ:
GROUP BY句によるグループ化と、集約関数SUMが使用されているため、更新不可です。 - エ:集約関数
AVGが使用されており、ビューの1行が基底表の複数の行から計算された値となるため、更新不可です。