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