oracleの中のビューの詳細

2041 ワード

1.ビューの概要図は、一つ以上のテーブルまたは他のビューの関連データを表示するためのクエリーsql文です。ビューはクエリーの結果を表として使用しますので、ビューは格納されたクエリーまたは仮想テーブルとして見なされます。ビューはテーブルから来ています。ビューデータのすべての変更は最終的にビューのベーステーブルに反映されます。これらの変更はベーステーブルの完全性の制約に従う必要があり、ベーステーブルに定義されているフリップフロップもトリガされます。Oracleはビュー上で明示的に定義されたトリガーをサポートし、論理的制約を定義します。2.ビューの記憶はテーブルと異なり、ビューは記憶空間の割り当てを要求しません。ビューには実際のデータも含まれません。ビューはクエリーを定義するだけで、ビューのデータはベーステーブルから取得され、ビューが参照されているときに動的に生成されます。ビューはデータベース内の他のオブジェクトに基づいているので、1つのビューは、追加の記憶空間を必要とせずに、データ辞書に定義された空間を保存するだけでよい。3.ビューの役割ユーザは、ビューを通してベーステーブルのデータを異なる形で表示することができ、ビューの強みは、ユーザのニーズに応じてベーステーブルのデータを整理することができることである。ビューの一般的な用途は、ビューを通して、ユーザーがアクセスできる列とデータ行を設定することができ、テーブルに追加のセキュリティ制御隠しデータの複雑性ビューでは、接続(join)を使用して、複数のテーブルに関連する列で新しいデータセットを構成することができます。このビューは、複数のテーブルからのデータが隠されています。ユーザのSQL文を簡略化し、ビューを使用すると、これらのテーブルがどのように接続されているかを知ることなく、複数のテーブルから情報を照会することができる。このビューに影響を与えないように、ベーステーブルのデータビューの列名を異なる角度で表示することができます。このビューのベーステーブルは、ベーステーブルの定義によって変更されないようにします。ビューの定義において、4つのデータ列を含むベーステーブルの3つの列を調べました。ベーステーブルに新しい列を追加すると、ビューの定義は影響されませんので、このビューを使用するアプリケーションも影響されません。複雑なクエリーを保存します。テーブルデータを複雑に計算することができます。このクエリをビューとして保存した後、同じような計算をするたびに、このビューを調べます。論理データの独立性ビューは、アプリケーションとデータベーステーブルをある程度独立させることができます。ビューがない場合は、アプリケーションは必ずテーブルに作成されます。ビューがあると、プログラムはビュー上に構築され、プログラムとデータベーステーブルはビューで分割されます。4.ビューの動作メカニズムビューの定義は、クエリ文を使用しています。Oracleは、この定義をテキスト形式でデータ辞書に保存します。ユーザがSQL文でビューを引用すると、Oracleは、ビューを参照したステートメントとビューの定義ステートメントを一つの文に統合してSQL領域解析統合を共有したステートメントでこの文を実行します。既存の共有SQLエリアに統合されたステートメントがない場合、Oracleはこのステートメントに新しい共有SQL領域を作成します。したがって、ビューを参照したSQL文も既存の共有SQL領域を利用してメモリの節約とパフォーマンス向上の目的を達成することができる。5.ビューの依存性は、ビューの定義が他のオブジェクト(テーブル、ビュー)のクエリーを参照しているため、ビューはその参照対象に依存しています。Oracleは、ビューの依存性を自動的に処理します。例えば、ユーザがビューのベーステーブルを削除してこのテーブルを再構築すると、Oracleは新しいベーステーブルがビューの定義に合っているかどうかを確認し、ビューの有効性を判断する。6.更新可能な接続ビュー接続ビューとは、1つのビューの定義されたクエリーのfrom字句に複数のテーブルまたはビューを参照したものです。更新可能な接続ビューとは、UPDATE、INSERT、DELETE操作が可能な接続ビューのことです。ビューが更新可能であることを保証するために、その定義には以下の構文構造が含まれてはいけない。セットオペレータDISTINCTオペレータ集約関数または分析型関数GROUTBY、ORDER BY、CONNET BY、またはSTART WITHワードはSELECT後のリストで集合式を使用してSELECT後のリストでサブクエリ接続(join)を使用していますが、例外的に更新不可能なビューについては、INSTEP OFフリップフロップを利用してデータを修正することができます。