システム監査技術者 2013年 午前2 問18
問題文
関係データベースのビューを利用する目的はどれか。
選択肢
ア:DISTINCT指定、GROUP BY句及びHAVING句をもつ演算処理を独立させて、プログラムに単純化したデータ更新手段を提供する。
イ:行や列を特定の条件で絞り込んだビューだけをアクセスさせることによって、基となる表のデータの一部を隠蔽して保護する手段を提供する。(正解)
ウ:データベースの物理的記憶構造の変更に影響されないように、アプリケーションプログラムに対して物理的データ独立性を提供する。
エ:複数の表を結合したビューにインデックスを付与することによって、複数の表にまたがった高度な検索手段を提供する。
🔒 解説は解答すると表示されます
ビューによるデータ隠蔽【午前2解説】
正解の理由
ビューは、基となる表から必要な行や列を選び、仮想的な表として定義したものです。利用者にビューだけを参照させることで、基となる表に含まれる特定のデータを見せずに済みます。
したがって、行や列を条件で絞り込んだビューをアクセスさせ、基となる表のデータの一部を隠して保護するという説明が適切です。これに該当するのはイです。
解法ステップ
- ビューは、基となる表から必要なデータを取り出して作る「仮想的な表」だと押さえます。
- ビューの代表的な利用目的として、必要なデータだけを利用者に見せるデータの隠蔽や、複雑な検索処理の簡略化を確認します。
- 選択肢がビューの一般的な機能を述べているか、特定の機能や別の仕組みと混同していないかを見分けます。
選択肢別の誤答解説
- ア:誤りです。 ビューによって検索処理を簡略化できる場合はありますが、
DISTINCT、GROUP BY、HAVINGなどを含むビューは、一般に更新できないか、更新に制約があります。「単純なデータ更新手段を提供する」とする説明は適切ではありません。 - イ:正解です。 行や列を絞り込んだビューだけを利用させれば、基となる表の一部のデータを隠して保護できます。
- ウ:誤りです。 物理的データ独立性とは、記憶装置やデータの格納方法が変わっても、アプリケーションへの影響を抑える性質です。これは主にDBMSのスキーマ構造などによって実現されるもので、ビューの主な目的として説明するのは適切ではありません。
- エ:誤りです。 通常のビューは、問い合わせを定義した仮想的な表であり、ビュー自体にインデックスを付与するとは限りません。実体を持つマテリアライズドビューなどとは区別が必要です。
よくある誤解
- ビューを作れば、基となる表のデータが複製されると思うこと
通常のビューは、定義された問い合わせに基づく仮想的な表であり、表のデータを別途複製するものではありません。 - ビューの利用だけで自動的にデータが保護されると思うこと
利用者に基となる表を直接参照する権限も与えていると、ビューで隠したデータにアクセスされる可能性があります。権限設定も適切に行う必要があります。 - ビューはすべて更新できると思うこと
単純なビューは更新できる場合がありますが、集約や複数表の結合などを含むビューは更新できない、または制約がある場合があります。
補足コラム
ビューは、データの隠蔽だけでなく、利用者やアプリケーションに見せるデータの形式を整える目的でも使われます。たとえば、表の列名を分かりやすくしたり、複数の表を結合した結果を一つの表のように参照したりできます。
ただし、ビューを通じてデータを更新できるかどうかは、ビューの定義やDBMSの仕様によって異なります。データを見せるための仕組みと更新を簡単にする仕組みは、分けて考えることが大切です。
FAQ
Q. ビューは基となる表のデータを別に保存しますか?
A. 通常のビューはデータを別に保存せず、問い合わせの定義を保存します。データを実体として保持するマテリアライズドビューとは異なります。
A. 通常のビューはデータを別に保存せず、問い合わせの定義を保存します。データを実体として保持するマテリアライズドビューとは異なります。
Q. ビューを使えば、必ず基となる表のデータを隠せますか?
A. いいえ。利用者にビューだけを参照させ、基となる表への直接アクセスを適切に制限する必要があります。
A. いいえ。利用者にビューだけを参照させ、基となる表への直接アクセスを適切に制限する必要があります。
Q. ビューは物理的データ独立性を実現する仕組みですか?
A. ビューの主な目的は、データの見せ方を調整したり、必要な情報を隠したりすることです。物理的データ独立性とは区別して理解しましょう。
A. ビューの主な目的は、データの見せ方を調整したり、必要な情報を隠したりすることです。物理的データ独立性とは区別して理解しましょう。
関連キーワード: ビュー、基表、データ隠蔽、アクセス権限、物理的データ独立性、マテリアライズドビュー

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

