ある企業がリレーショナルデータベースにおけるビュー(VIEW)の利点について評価している。ビューを使用することで得られる効果として正しいものを2つ選択してください。
- A. 基となるテーブルのデータが変更されてもビューに影響はなく、常に作成時点のデータを返す
- B. ビューを通じて特定のカラムのみを公開することで、機密カラムへのアクセスを制限できる
- C. 複雑な JOIN や集計ロジックをビューに隠蔽し、利用者はシンプルな SELECT でデータにアクセスできる
- D. ビューを作成するとクエリ結果がキャッシュされてディスクに保存されるため高速になる
- E. ビューに INSERT・UPDATE・DELETE を実行すると常に基のテーブルのデータが更新される
解答と解説を見る
正解: B, C
ビューの主な利点は、複雑なクエリロジックの隠蔽(選択肢C)とセキュリティ(アクセス制御・選択肢B)である。ビューを使うことで JOIN や集計の詳細を知らなくてもデータにアクセスでき、また特定カラムのみを含むビューを作成してユーザーに公開することで機密カラム(給与・個人情報など)へのアクセスを制限できる。ビューは仮想テーブルであり、基のテーブルのデータが変われば SELECT のたびに最新データを返す(選択肢Aの「常に作成時点のデータを返す」は誤り)。通常のビューはデータをキャッシュしてディスクに保存しない(インデックス付きビューは別だが既定では非該当。選択肢Dは誤り)。更新可能ビューは存在するが、全ビューが常に INSERT・UPDATE・DELETE を通じて基テーブルを更新できるわけではなく(選択肢Eは誤り)。