ジオデータベース データへの SQL によるアクセス
データベース管理システム(DBMS)のネイティブ SQL の SELECT ステートメントを使用して、ArcSDE ジオデータベース内のデータセットからデータを読み取ることができます。
データを選択する 1 つまたは複数のテーブルを SQL ステートメントに指定します。たとえば、次の簡単なクエリでは、flyway フィーチャクラスの name 列と sp_id 列から情報が返されます。
SELECT name, sp_id
FROM yousir.flyway;
フィーチャクラスに対するクエリでは、ベース(またはビジネス)テーブル内のデータに対するクエリが実行されます。クエリの対象となるフィーチャクラスが次の条件を満たしていれば、ベース テーブルに対するクエリで十分にデータを表示できます。
- データがジオデータベースの機能(履歴管理、アノテーション、レプリケーション、ネットワーク、パーセル ファブリック、リレーションシップ クラス、カートグラフィック リプレゼンテーション、スケマティック データセット、サブタイプ、ドメイン、テレイン、トポロジなど)に参加していないこと
- フィーチャクラスがバージョン対応登録されていないこと
- フィーチャクラスの、ジオメトリ格納に SQL 空間タイプが使用されていること
- テーブルの中に XML 列がある場合、それは ArcSDE XML 列ではなくネイティブ DBMS XML タイプです。
アクセスしたいデータがジオデータベースの機能に参加している場合や、バイナリ ジオメトリ格納または ArcSDE XML が使用されている場合は、必要な関連テーブルを含むようクエリを構築し、正しい列を使ってそれらのテーブルを結合して関連テーブル内の情報を表示する必要があります。
フィーチャクラスがバージョン対応である場合、バージョン対応ビューを使用してクエリすると、複雑な結合ステートメントを記述する必要なく、フィーチャクラスのベース テーブル、ADD テーブル、および DELETE テーブル内のデータを表示することができます。ArcGIS 10.1 からは、フィーチャクラスをバージョン対応登録したときにバージョン対応ビューが作成されます。ArcGIS 10.1 より前にバージョン対応になったフィーチャクラスの場合、ArcGIS for Desktop の [バージョン対応ビューの作成] コマンドまたは [バージョン対応ビューの作成(Create Versioned View)] ジオプロセシング ツールを使用して、バージョン対応フィーチャクラスのバージョン対応ビューを作成できます。