Oracle のビュー
ビューを作成すると、データを要求したときに検索されるテーブルおよび列の数が制限されるのでクエリの応答時間が改善されます。クライアント アプリケーションでフィーチャクラスまたは非空間テーブルとして認識されるビューを作成できます。ビューは単一のテーブルまたはフィーチャクラスを参照でき、複数のテーブルからデータを結合するビューも作成できます。
必要な権限を持つユーザは、SQL または ArcSDE の sdetable コマンドを使用してビューを作成できます。また、ビューが編集を許可するように作成されている場合は、ビューを使用してデータを編集できます。ビューを作成または編集するために必要な権限については、使用しているリリースの Oracle のマニュアルをご参照ください。
ALL_VIEWS データ ディクショナリ ビューにクエリを実行することにより、Oracle のビューの定義へアクセスすることができます。
ビュー情報を格納する Oracle データ ディクショナリ
SQL または sdetable コマンドを使用して Oracle データベースにビューを作成すると、ビューは Oracle データ ディクショナリで定義されます。したがって、Oracle データ ディクショナリにクエリを実行すれば、ビューの定義を確認できます。
Oracle では、ALL_VIEWS という、ユーザによるアクセスが可能なビューに、接続ユーザがアクセスできるすべてのビューが管理されます。次に、ALL_VIEWS ビューの定義を示します。
DESCRIBE all_views;
名前 |
Null? |
タイプ |
---|---|---|
OWNER |
NOT NULL |
VARCHAR2(30) |
VIEW_NAME |
NOT NULL |
VARCHAR2(30) |
TEXT_LENGTH |
NUMBER |
|
TEXT |
LONG |
|
TYPE_TEXT_LENGTH |
NUMBER |
|
TYPE_TEXT |
VARCHAR2(4000) |
|
OID_TEXT_LENGTH |
NUMBER |
|
OID_TEXT |
VARCHAR2(4000) |
|
VIEW_TYPE_OWNER |
VARCHAR2(30) |
|
VIEW_TYPE |
VARCHAR2(30) |
|
SUPERVIEW_NAME |
VARCHAR2(30) |
|
EDITIONING_VIEW* |
VARCHAR2(1) |
|
READ_ONLY* |
VARCHAR2(1) |
*Oracle 11g データベースにのみ存在します
ビューには、所有者、名前、テキストが格納されます。ALL_VIEWS の TEXT 列には、ビューを定義するクエリのテキストが含まれています。
アクセスを特定のレコードに制限すること以外にも、1 つ以上の SDO_Geometry または ST_Geometry 列が含まれたテーブルにもビューを利用でき、そのテーブルを ArcGIS で使用したり、ジオデータベースに登録したりすることもできます。ArcGIS では、複数のジオメトリ列を持つレイヤがサポートされないため、ArcGIS で使用するには、まず、ジオメトリ列が 1 つだけ含まれたビューを作成する必要があります。