[0469] ビュー

平成13年度秋期 基本情報処理技術者試験より
関係データベースのビューに関する記述として,適切なものはどれか。
複数の表からビューを定義することはできない。
元の表に列の追加が起こった場合,ビューは再定義しなければならない。
利用者は,ビューの構造だけでなく,元の表自体の構造を知る必要がある。
利用できる範囲を限定できるので,データの保護やデータの保全に役立つ。

正解

解説

 ビューとは,既に定義されているテーブル構造などを基にして,論理的なデータ構造を提供する仕組みです。3層スキーマでは,外部スキーマに相当します。

 ビューを通して間接的に実際のテーブルへアクセスさせることで,機密性の高いデータやテーブル構造などを隠蔽することができます。また,テーブル構造が変更される場合でも,ビューのデータ抽出方法を変更するだけで,表面上は従来どおりのデータアクセスを提供することができます。

 ビューを定義する例を挙げてみましょう。例えば,データベースに定義されている社員テーブル(“社員CD”,“名前”,“役職”,“年棒”)を一般者へデータ公開するケースでは,業務を遂行する上で不用と思われる個人情報“年棒”のみは非公開とするものとします。このとき,社員テーブルのうち“年棒”項目のみを除外した一般公開用のビューを用意することで,“年棒”項目を隠蔽することができます。ビューは,create view文で作成します。



 さらに,社員テーブルの“役職”の項目を役職テーブルへ分離し,社員テーブルには“役職コード”の外部キーを設定するようテーブル構造を変更する場合であっても,ビューを再定義するだけで,従来どおりのアクセスを実現することができます。



 それでは選択肢をみていきましょう。


 複数の表からビューを定義することはできない。
複数の表からビューを定義することが可能です。

 元の表に列の追加が起こった場合,ビューは再定義しなければならない。
再定義する必要はありません。

 利用者は,ビューの構造だけでなく,元の表自体の構造を知る必要がある。
表自体の構造は隠蔽可能であり,利用者はこれを知ることなくビューを利用することができます。

 利用できる範囲を限定できるので,データの保護やデータの保全に役立つ。
正しい記述です。


 よって,エが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題