Oracle のビュー
ビューを作成すると、データを要求したときに検索されるテーブルおよび列の数が制限されるのでクエリの応答時間が改善されます。クライアント アプリケーションでフィーチャクラスまたは非空間テーブルとして認識されるビューを作成できます。ArcSDE ビューは単一のテーブルまたはフィーチャクラスを参照でき、複数のテーブルからデータを結合するビューも作成できます。
必要な権限を持つすべてのユーザが、SQL または ArcSDE sdetable コマンドを使用してビューを作成することができます。さらに、編集可能なビューとして作成された場合には、ビューを使ってデータを編集することができます。ビューを作成または編集するために必要な権限については、使用しているリリースの Oracle のマニュアルをご参照ください。
ALL_VIEWS データ ディクショナリ ビューにクエリを実行することにより、Oracle のビューの定義へアクセスすることができます。
ビュー情報を格納する Oracle データ ディクショナリ
SQL または sdetable コマンドを使用して Oracle データベースにビューを作成すると、ビューは Oracle データ ディクショナリで定義されます。したがって、Oracle データ ディクショナリにクエリを実行すれば、ビューの定義を確認できます。
Oracle では、ALL_VIEWS という、ユーザによるアクセスが可能なビューに、接続ユーザがアクセスできるすべてのビューが管理されます。次に、ALL_VIEWS ビューの定義を示します。
DESCRIBE all_views;
名前 |
NULL? |
タイプ |
---|---|---|
OWNER |
いいえ |
VARCHAR2(30) |
VIEW_NAME |
いいえ |
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 列には、ビューを定義するクエリのテキストが含まれています。
ビューを使用することで、アクセスを特定のレコードに制限することや、SDO_Geometry または ST_Geometry の空間列が複数含まれたテーブルを ArcSDE に登録することもできます。ArcSDE では、複数のジオメトリ列を持つレイヤがサポートされないため、ST_Geometry 列が複数含まれたテーブルを登録するには、まず、ジオメトリ列が 1 つだけ含まれたビューを作成する必要があります。Oracle Spatial テーブルでこれを行う方法については、Knowledge Base の記事「HowTo: Create an Oracle View of an Oracle Spatial layer, containing multiple geometry columns, and register it with ArcSDE」をご参照ください。複数の ST_Geometry 列が含まれたテーブルでこの操作を行う手順については、「ST_Geometry 列を持つテーブルでの空間ビューの使用」をご参照ください。