システム監査技術者 2015年 午前2 問17
問題文
関係データベースのビューを利用する目的はどれか。
選択肢
ア:DISTINCT指定、GROUP BY句及びHAVING句をもつ演算処理を独立させて、プログラムに単純化したデータ更新手段を提供する。
イ:行や列を特定の条件で絞り込んだビューだけをアクセスさせることによって、基となる表のデータの一部を隠蔽して保護する手段を提供する。(正解)
ウ:データベースの物理的記憶構造の変更に影響されないように、アプリケーションプログラムに対して物理的データ独立性を提供する。
エ:複数の表を結合したビューにインデックスを付与することによって、複数の表にまたがった高度な検索手段を提供する。
🔒 解説は解答すると表示されます
ビューによるデータ隠蔽【午前2解説】
正解の理由
ビューは、基となる表から必要な行や列だけを取り出し、仮想的な表として利用する仕組みです。利用者が条件を付けたビューだけにアクセスできるようにすれば、基となる表の一部のデータを見せずに済みます。
このように、ビューにはデータへのアクセス範囲を制限し、情報を保護する目的があります。したがって、基となる表のデータの一部を隠蔽して保護する手段を説明したイが適切です。
解法ステップ
- ビューは、基となる表に対する検索結果を仮想的な表として扱う仕組みだと確認します。
- 設問が問うているのは、ビューを利用する目的です。
- ビューの代表的な用途である「利用者ごとに見せる行や列を制限すること」に当てはまる選択肢を選びます。
選択肢別の誤答解説
- ア:
DISTINCT、GROUP BY、HAVINGなどを含むビューは、更新できない場合があります。複雑な演算を独立させて、単純なデータ更新手段を提供するという説明は適切ではありません。 - イ:条件に応じて行や列を絞り込んだビューを使い、基となる表の一部を利用者から隠せます。ビューによるデータ保護の説明として適切です。
- ウ:物理的データ独立性は、データの物理的な格納方法が変わってもアプリケーションへの影響を抑える性質です。ビューの主な目的を説明した選択肢ではありません。
- エ:ビューにインデックスを付けて複数表にまたがる検索を実現することは、ビューの一般的な目的ではありません。ビューとインデックスの機能を混同した説明です。
よくある誤解
- ビューはデータを別に複製して保存する表だと思いがちですが、通常のビューは検索結果を仮想的な表として扱います。
- ビューを使えば、どのようなビューでもデータを更新できると思いがちです。集約や結合などを含むビューは、更新できないことがあります。
- ビューがデータの見せ方を制御することと、データの物理的な格納方法を隠すことを混同しがちです。
補足コラム
ビューを使うと、利用者には必要な列だけを公開したり、特定の条件に合う行だけを表示したりできます。ただし、ビューを作成しただけで安全性が確保されるわけではありません。利用者への権限設定など、データベースのアクセス制御と組み合わせて運用することが重要です。
FAQ
Q. ビューの定義に使う
A. できます。たとえば、特定の部署の社員だけを表示するビューを作成できます。
WHERE句で、行を制限できますか?A. できます。たとえば、特定の部署の社員だけを表示するビューを作成できます。
Q. ビューで列を制限することもできますか?
A. できます。氏名や部署名だけを含むビューを用意し、給与などの列を公開しない設計にできます。
A. できます。氏名や部署名だけを含むビューを用意し、給与などの列を公開しない設計にできます。
Q. ビューを使えば、基となる表への権限設定は不要ですか?
A. 不要とは限りません。ビューへのアクセス権だけでなく、基となる表への権限も含めて適切に設定する必要があります。
A. 不要とは限りません。ビューへのアクセス権だけでなく、基となる表への権限も含めて適切に設定する必要があります。
関連キーワード: ビュー、基表、データ隠蔽、アクセス制御、データ独立性

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

