過去問解きまくり研究所 ホーム

平成23年度 秋期 午前 問30

データベース

ビューを作成するSQL文

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

答えと解説を見る

✓ これが正解アCREATE VIEW 高額商品(商品番号,商品名,商品単価) AS SELECT 商品番号,商品名,商品単価 FROM 商品 WHERE 商品単価 > 1000

解説

元の一行を指せるビューだけ更新できます。

ビューを更新するというのは見かけのうえでの言い方で、実体としては元になっている実表を書き換えることです。ですから判定の基準は一つに定まります。ビューの一行が、元の実表のどの一行に対応するのかを一意に指せるかどうかです。指せるなら、どの行をどう直せばよいかが決まります。指せないなら、直す先が決まらないので、そもそも書き換えようがありません。この目で四つの問合せを見比べると、行の対応を崩す仕掛けがいくつかあることに気づきます。複数の行を一つに束ねてしまうもの、重なりを取り除いて一つに畳んでしまうもの、表全体を一行に縮めてしまうものです。いずれも、できあがった一行の裏に元の行が何本も隠れることになるので、対応が一対一ではなくなります。逆に、条件で行を絞り込み、必要な列を選び出すだけであれば、行の対応は崩れません。この場合は書き換えられます。なお、列を選び出すときに、行を見分けるための列まで落としてしまうと、やはり元の行を特定できなくなるので、その点にも注意が必要です。四つのうち、行の対応が保たれているものを探すのが解き方になります。

ほかの選択肢はなぜ違うのか

出典:平成23年度 秋期 応用情報技術者試験 午前 問30

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)