概要
本章で説明するビューは、データベースでよく使われる一般的なビューです。これは仮想テーブルのデータベースオブジェクトであり、1つまたは複数の実際のテーブル(基準テーブル。基準テーブルはテーブルまたは他のビューにすることができます)に基づいたSQLクエリ結果の論理的表現を提供します。ビュー自体はデータを格納せず、データを生成するためのクエリを格納します。このビューにアクセスすることで、ビュー定義のデータを取得できます。
ビューの利点
データベース設計とアプリケーションにおいて、ビューは多方面で利点を提供します:
クエリの簡略化
- よく使用されるデータをビューとして定義し、操作を簡素化します。データベースのクエリの大部分は集約関数を使用し、同時に他のフィールドの情報を表示する必要があり、他のテーブルとの結合も必要になる場合があります。このような場合、関連するSQL文は複雑になる可能性があります。このクエリを頻繁に実行する必要がある場合は、ビューを作成することでクエリ操作を簡素化できます。その後は
SELECT * FROM view_nameを実行するだけで期待される結果を得ることができます。
データの安全性と分離
- ビューはユーザーが参照および変更できるデータを制限することで、データの安全性を向上させます。ビューは動的なデータの集合であり、基準テーブルが更新されるとデータも更新されます。しかし、ビューは仮想的なものであり、物理的には存在せず、単にデータの集合を格納しているだけです。そのため、基準テーブルの重要なフィールド情報を隠蔽し、ビューを通じてユーザーに表示しないようにすることができます。
論理的独立性
- ビューは論理的に独立しており、実際のテーブルの構造による影響を遮断します。ビューにより、アプリケーションとデータベースのテーブルは一定程度相互に独立することができます。ビューがなければ、アプリケーションは必ずテーブルに基づいて構築されます。ビューを作成すると、プログラムはビュー上に構築でき、実際のテーブル構造の変更を気にする必要がありません。
ビューの特徴
実際のデータテーブルとは異なり、ビュー自体はデータ保存用のストレージ容量を消費しません。ビューの特徴は以下のとおりです:
保存されるのはクエリ
ビューは、データ自体ではなく、それらを定義するSQLクエリ文のみを保存します。
リアルタイムデータ
ビューはクエリに基づいているため、表示されるデータは常に基準テーブルの最新状態です。
追加のストレージ容量を消費しない
ビューはデータ保存用のストレージ容量を割り当てる必要がなく、データディクショナリに定義を保存するだけです。
テーブルを使用するほとんどの場面で、ビューを実際のテーブルの代わりに使用できます。特に、データ表示のカスタマイズ、セキュリティ、論理的独立性が求められるシナリオでそうです。ビューにより、データベース管理者と開発者はデータベースオブジェクトをより効率的に管理し、ユーザーに必要なデータアクセスサービスを提供できます。