システム監査技術者 2021年 午前2 問21
問題文
関係データベースのビューに関する記述のうち、適切なものはどれか。
選択肢
ア:ビューの列は、基の表の列名と異なる名称で定義することができる。(正解)
イ:ビューは、基の表から指定した列を抜き出すように定義するものであり、行を抜き出すように定義することはできない。
ウ:二つ以上の表の結合によって定義されたビューは、結合の仕方によらず更新操作ができる。
エ:和両立な二つの表に対し、和集合演算を用いてビューを定義することはできない。
🔒 解説は解答すると表示されます
ビューの定義と更新可能性【午前2解説】
正解の理由
ビューとは、基の表(実表)に対する問合せを定義し、仮想的な表として扱う仕組みです。ビューを定義するときには、基の表の列名とは異なる名前を付けることができます。
したがって、列名を変更して定義できるというアが適切です。たとえば、基の表の「顧客番号」という列を、ビューでは「会員番号」という名前で扱えます。
解法ステップ
- ビューを、基の表から必要なデータを取り出して作る仮想的な表と捉えます。
- ビューで指定できる内容が、列の選択だけなのか、行や列名の指定にも及ぶのかを確認します。
- 行の抽出や列名の変更も可能であり、複数表の結合などを使ったビューが必ず更新可能とは限らないことを踏まえて選択肢を判断します。
選択肢別の誤答解説
- ア:適切です。ビューの列には、基の表と異なる名前を付けられます。
- イ:誤りです。ビューでは、列の抽出だけでなく、条件を指定して行を抽出することもできます。例えば、SQLの
WHERE句で条件を指定します。 - ウ:誤りです。結合を含むビューは、どの表のどの行を更新するのか特定しにくい場合があります。そのため、結合の仕方によらず更新できるとは限りません。
- エ:誤りです。列数や各列のデータ型などが対応する「和両立」な表であれば、和集合演算を使ったビューを定義できます。ただし、定義できることと更新できることは別です。
よくある誤解
- ビューは列だけを選ぶものと思い込むことがあります。ビューでは、条件によって行を絞り込むこともできます。
- ビューを定義できることと、ビューを通じて更新できることを混同しがちです。特に複数表の結合を含むビューは、更新できない場合があります。
- ビューの列名は基の表と同じでなければならないと思い込むことがあります。ビューでは別名を付けられます。
補足コラム
ビューは、利用者に必要な列や行だけを見せる用途にも役立ちます。例えば、個人情報を含む表から氏名や住所を除いたビューを作れば、利用者に見せる情報を制限できます。
FAQ
ビューを作ると、データが別に複製されますか?
通常のビューは問合せの定義を保持するもので、表のデータそのものを別に複製するわけではありません。
通常のビューは問合せの定義を保持するもので、表のデータそのものを別に複製するわけではありません。
ビューの列名を変更する方法はありますか?
ビューの定義時に列名を指定する方法や、問合せで列に別名を付ける方法があります。
ビューの定義時に列名を指定する方法や、問合せで列に別名を付ける方法があります。
ビューを通じて基の表を更新できますか?
ビューの定義によります。単一の表を単純に参照するビューは更新できることがありますが、結合や集約などを含むビューは更新できない場合があります。
ビューの定義によります。単一の表を単純に参照するビューは更新できることがありますが、結合や集約などを含むビューは更新できない場合があります。
関連キーワード: ビュー、実表、列名、行の抽出、結合、和集合演算

\ せっかくなら /
システム監査技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

