web-dev-qa-db-ja.com

Oracleのビューとは何ですか?

Oracleのビューとは何ですか?

58
laxmi narayana

Oracleで表示および他のデータベースシステムでは、簡単に再利用できるようにメモリに格納されているSQLステートメントの単なる表現です。たとえば、次のクエリを頻繁に発行する場合

SELECT customerid, customername FROM customers WHERE countryid='US';

ビューを作成するには、この例のようにCREATE VIEWコマンドを使用します

CREATE VIEW view_uscustomers
AS
SELECT customerid, customername FROM customers WHERE countryid='US';

このコマンドは、view_uscustomersという新しいビューを作成します。このコマンドを実行しても、このビューを定義するデータディクショナリエントリを除き、データベースに実際に保存されるものは一切ありません。つまり、このビューを照会するたびに、Oracleはビューを出て実行し、データベースデータを照会する必要があります。次のようにビューをクエリできます。

SELECT * FROM view_uscustomers WHERE customerid BETWEEN 100 AND 200;

Oracleはクエリを次のように変換します。

SELECT * 
FROM (select customerid, customername from customers WHERE countryid='US') 
WHERE customerid BETWEEN 100 AND 200

ビューを使用する利点

  • 使用されているコードの共通性。ビューは1つの一般的なSQLセットに基づいているため、呼び出されたときに解析が必要になる可能性が低くなります。
  • セキュリティ。ビューは、クエリしているデータを実際に含むテーブルを隠すために長い間使用されてきました。また、ビューを使用して、特定のユーザーがアクセスできる列を制限できます。
  • 述語プッシュ

この記事には、「 Oracleでビューを作成および管理する方法 」に関する高度なトピックがあります。

128
splattne

ビューの考え方は気に入っているが、パフォーマンスが心配な場合は、Oracleに最新のビューを表すキャッシュテーブルを作成させることができます。
を参照してください マテリアライズドビュー

12
hamishmcn

通常のビュー----->クエリの短縮名、追加のスペースはここでは使用されません

マテリアライズドビュー---->ビューの作成に使用されたデータクエリに基づいてデータが定期的に更新されるテーブルの作成と同様

ビューは、名前が付けられてデータベースに保存されたSELECTクエリです。このため、ビューは名前付きクエリまたはストアドクエリと呼ばれることもあります。ビューを作成するには、SQL構文を使用します。

     CREATE OR REPLACE VIEW <view_name> AS
     SELECT <any valid select query>;
2
shubham

ビューは仮想テーブルであり、1つ以上のテーブルから列のサブセットへのアクセスを提供します。ビューは、1つ以上のテーブルからデータを引き出すことができます。クエリの出力はビューとして保存できます。ビューは小さなテーブルのように機能しますが、物理的にスペースを取りません。ビューは、特定のユーザーのデータを表に直接アクセスできないようにする優れた方法です。 Oracleのビューは、保存されたSQLスクリプトに他なりません。ビュー自体にはデータが含まれていません。

2
jassi