SQL Server のビュー
ビューを作成すると、データを要求したときに検索されるテーブルおよび列の数が制限されるのでクエリの応答時間が改善されます。クライアント アプリケーションでフィーチャクラスまたは非空間テーブルとして認識されるビューを作成できます。ArcSDE ビューは単一のテーブルまたはフィーチャクラスを参照でき、複数のテーブルからデータを結合するビューも作成できます。マルチ空間データベース モデルを使用してジオデータベースを格納する場合は、同じ SQL Server インスタンス上の異なるデータベースのテーブルとフィーチャクラスの間でビューを作成することができます。
必要な権限を持つすべてのユーザが、SQL または ArcSDE の sdetable コマンドを使用してビューを作成することができます。ビューを作成するために必要な権限については、使用しているリリースの SQL Server のマニュアルをご参照ください。
ビューの定義には、Microsoft SQL Server データベース内の INFORMATION_SCHEMA.VIEWS システム ビューを介してアクセスできます。
INFORMATION_SCHEMA.VIEWS システム ビュー
INFORMATION_SCHEMA.VIEWS システム ビューで特定のビューを検索することにより、そのビューのメタデータを取得できます。
フィールド名 | データ タイプ | 説明* |
---|---|---|
TABLE_CATALOG | nvarchar(128) | ビューの修飾子 |
TABLE_SCHEMA | nvarchar(128) | ビューを含むスキーマ |
TABLE_NAME | nvarchar(128) | ビューの名前 |
VIEW_DEFINITION | nvarchar(4000) | ビュー定義テキスト |
CHECK_OPTION | varchar(7) | ビューの作成時に使用された WITH CHECK OPTION のタイプ(ある場合) |
IS_UPDATABLE | varchar(2) | ビューが更新可能かどうかを示す |
*フィールドの詳細な説明と注意事項については、使用しているリリースの SQL Server のマニュアルをご参照ください。
複数のデータベースにまたがるビュー
マルチ空間データベース モデルでは、同じデータベースに属さないテーブルと ArcSDE フィーチャクラスの間でビューを作成することが可能です。そのためには、- D(データベース)スイッチを使用してビューを作成するデータベースを指定し、-t オプションを使用してビューに属しているすべてのテーブルを表示します。テーブル名には、データベースと所有者の名前を含む完全修飾名を使用しなければなりません。
シングル空間データベース モデルへ移行するには、これらのビューを削除する必要があります。データを移行した後で、ビューを作成し直すことができます。
シングル空間データベース モデルでは、sdetable コマンドの create_view 操作を使用し、データベースが異なる 2 つのフィーチャクラス間で、データベースにまたがるビューを作成することはできません。このようなビューを作成するには、SQL を使用する必要があります。