システム監査技術者 2020年 午前2 問21
問題文
関係データベースのビューを利用する目的はどれか。
選択肢
ア:DISTINCT指定、GROUP BY句及びHAVING句をもつ演算処理を独立させて、プログラムに単純化したデータ更新手段を提供する。
イ:行や列を特定の条件で絞り込んだビューだけをアクセスさせることによって、基となる表のデータの一部を隠蔽して保護する手段を提供する。(正解)
ウ:データベースの物理的記憶構造の変更に影響されないように、アプリケーションプログラムに対して物理的データ独立性を提供する。
エ:複数の表を結合したビューにインデックスを付与することによって、複数の表にまたがった高度な検索手段を提供する。
🔒 解説は解答すると表示されます
ビューによるデータ保護【午前2解説】
正解の理由
ビューは、基となる表から必要な行や列を選んで作成する仮想的な表です。利用者にビューだけを参照させ、基表への直接アクセスを制限すれば、見せたくないデータを隠して保護できます。
このように、行や列を条件で絞り込んだビューをアクセス対象にする説明であるイが正解です。実際に保護するには、基表へのアクセス権限を制限し、ビューを通じて必要なデータだけを公開する権限設定が必要です。
解法ステップ
- 問題が尋ねているのは、関係データベースのビューを利用する一般的な目的です。
- ビューの基本的な役割として、必要な行や列だけを見せること、複雑な問合せをまとめて見せることなどを確認します。
- 選択肢のうち、ビューを通じて基表の一部を隠せるという説明を選びます。
選択肢別の誤答解説
- ア:ビューで複雑な問合せを定義することはできますが、
DISTINCT、GROUP BY、HAVINGなどを含むビューは更新できない場合があります。したがって、それらの演算を独立させて、単純なデータ更新手段を提供するという説明は適切ではありません。 - イ:行や列を絞り込んだビューだけを利用させることで、基表の一部を隠して保護できます。ビューの代表的な利用目的です。
- ウ:物理的データ独立性とは、記憶装置やファイル編成などの物理的な変更が、アプリケーションに影響しない性質です。これは主に、DBMSが物理スキーマと論理スキーマを分離して管理することで実現されます。ビューが直接提供する目的として述べるのは適切ではありません。
- エ:通常のビューは問合せ定義を保持するものであり、ビュー自体にインデックスを付与できるとは限りません。複数表を結合したビューにインデックスを付けることは、一般的なビューの目的ではありません。DBMSによっては、結果を実体化して索引を付ける機能があります。
よくある誤解
- ビューを作るだけで基表のデータが自動的に保護されると思い込むことがあります。基表への直接アクセス権限も適切に設定する必要があります。
- ビューは常に更新できると思いがちですが、集約や複数表の結合などを含むビューは、更新できない場合があります。
- ビューによるデータの見せ方の制御と、物理的な記憶構造の変更からアプリケーションを守る「物理的データ独立性」を混同しないようにします。
補足コラム
通常のビューは、表のように参照できますが、基本的には問合せの定義を保存したものです。ビューを参照すると、定義された問合せが基表に対して実行されます。
一方、マテリアライズドビューは、問合せ結果を実際に保存する方式です。結果を事前に保存して検索を高速化できますが、基表が更新された際に結果をどう反映するかを考慮する必要があります。
FAQ
Q. ビューは基表のデータを複製して保存するものですか?
A. 通常のビューは、問合せの定義を保存するもので、結果を複製して保存するものではありません。結果を保存する方式は、マテリアライズドビューなどと呼ばれます。
A. 通常のビューは、問合せの定義を保存するもので、結果を複製して保存するものではありません。結果を保存する方式は、マテリアライズドビューなどと呼ばれます。
Q. ビューを使えば、基表へのアクセス権限を設定しなくても安全ですか?
A. いいえ。利用者が基表にも直接アクセスできると、ビューで隠したデータを参照される可能性があります。基表への権限を制限し、ビューを通じて必要なデータだけを利用できるようにすることが重要です。
A. いいえ。利用者が基表にも直接アクセスできると、ビューで隠したデータを参照される可能性があります。基表への権限を制限し、ビューを通じて必要なデータだけを利用できるようにすることが重要です。
関連キーワード: ビュー、基表、アクセス制御、データ隠蔽、物理的データ独立性、マテリアライズドビュー

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

