2011-09-09 19 views

答えて

4

はい、多くの理由があります。

  1. セキュリティ:あなたはだけではなく、基礎となる表のビューへのアクセス権を付与することができますどのような特定のユーザーが表から見ることができます制限する場合。
  2. 簡略:サブクエリでクエリ/ビューを使用する必要がある場合。同じ複雑なクエリを繰り返し何度も繰り返し入力したくないときにも使用できます。
  3. マテリアライズド・ビュー(RDBMSがサポートしている場合):一部の分析問合せ(データ・ウェアハウス)でパフォーマンスを向上させることができます。
  4. パーティショニング:他のリレーション(テーブル)のサブセットのみを表すリレーション(ビュー)が必要な場合。 I.テーブルinvoicesから2011年に作成された請求書だけを使用してinvoices_2011ビューを作成することができます。

更新:例で

は尋ねた:

create table customers (
    customer_id integer primary key, 
    name varchar(200) not null, 
    dob date 
); 

そして、あなたは、ユーザー bartのみ namedob前に生まれた顧客のを見てみたい:

のは、あなたがこのテーブルを持っているとしましょうcustomersテーブルへのアクセスを許可することはできません。bartには、何かが格納されていることがわかります。あなたが代わりにビューを作成

create view customers_1980 as 
select name, dob from customers 
where dob < '1980-01-01'; 

をし、そのビューへbartアクセス許可:

grant select on customers_1980 to bart; 

この方法は、bartcustomersテーブルの制限されたビューのサブセットにアクセスできるようになります。

+1

こんにちはパブロ、通過してください、しかし、あなたはどのように与えるためにセキュリティ上の例で私を説明してくださいすることができます。 – vivek

+0

質問を例文に更新しました。 –

1

ビューの使用は、ユーザーに制限されたアクセスを提供する場合に適しています。

頻繁に使用されているクエリは、パフォーマンスが向上するインデックス付きビューに作成できます。

どうもありがとうthis記事

関連する問題