テクノロジ系28 / 80問
応用情報技術者試験 令和5年度 秋期 午前 問28
更新可能なビューを作成する SQL 文はどれか。ここで、SQL 文中に現れる基底表は全て更新可能とする。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
アのビューは、一つの基底表である商品表から、商品単価が1000を超える行を選択し、その列をそのまま取り出しています。DISTINCT、集約関数、GROUP BYなどは使用しておらず、ビューの各行を商品表の元の行に対応付けられます。そのため、商品名や商品単価に対する更新を基底表の該当行へ反映でき、更新可能なビューになります。
イは誤りです。DISTINCTによって同じ商品番号をもつ複数の受注行が一つにまとめられるため、ビューの一行を基底表のどの行に対応させるか決められず、更新できません。
ウは誤りです。SUMで受注数量を合計し、GROUP BYによって商品番号ごとに複数行を一行へ集約したビューです。表示された合計値を変更しても、元の各受注行へ変更量をどのように配分するか決められません。
エも誤りです。AVGで全受注行の平均値を求めた集約ビューです。一つの平均値は複数の基底表の行から計算されており、その値の更新を特定の行へ対応付けられません。
【ポイント】 ・更新可能なビューでは、ビューの行と基底表の行を一意に対応付けられることが重要です。 ・DISTINCT、GROUP BY、SUMやAVGなどの集約処理を含むビューは、原則として更新できません。 ・WHERE句による行の絞込みだけであれば、通常は更新可能性を失いません。
出典:令和5年度 秋期 応用情報技術者試験 午前 問28
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる