令和5年度 秋期 応用情報技術者試験 午前 問28

テクノロジデータベース

この問題は2023(R5)秋 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

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

解答・解説を読む

正解: 選択肢

ビューに対する更新(INSERT、UPDATE、DELETE)が、基となる実表(基底表)に直接反映できるものを 更新可能なビュー と呼びます。

ビューが更新可能であるためには、ビューの行と基底表の行が 1対1に対応 している必要があります。したがって、以下の要素を含むSELECT文で定義されたビューは元の行が特定できなくなるため 更新不可 となります。

  • DISTINCT(重複排除)
  • GROUP BY 句や HAVING 句によるグループ化
  • 集約関数SUMAVGMAXMINCOUNT など)
  • 複数の表の結合(JOIN)や集合演算(UNIONなど)

各選択肢の解説

  • ア(正解):単一の基底表(商品)から WHERE 句での条件抽出のみを行っており、集約処理や重複排除を含まないため、更新可能です。
  • DISTINCT キーワードが含まれており、重複排除が行われるため元の行が特定できず、更新不可です。
  • GROUP BY 句によるグループ化と、集約関数 SUM が使用されているため、更新不可です。
  • :集約関数 AVG が使用されており、ビューの1行が基底表の複数の行から計算された値となるため、更新不可です。