DBMS におけるジオデータベースの格納形態
多くのジオデータベースは、地理情報のデータ格納と管理に、Oracle、IBM DB2、Microsoft SQL Server などの DBMS を利用しています。これにより、ジオデータベースのスケーラビリティを拡張し、多数のユーザをサポートすることが可能になります。これらのジオデータベースは、バージョニング、レプリケーション、履歴管理といった重要なデータ管理ワークフローもサポートしています。
ジオデータベースの物理格納
ジオデータベースの格納領域の主なメカニズムはテーブルです。テーブルは、次に示すように、ディスク上にファイルとして、または DBMS のコンテンツとして格納されます。
ジオデータベースの種類 |
データ格納法 |
---|---|
パーソナル ジオデータベース |
Microsoft Access |
ファイル ジオデータベース |
データ ファイルが含まれているファイル システムのフォルダ |
ArcSDE for SQL Server Express(ArcGIS Desktop(ArcEditor または ArcInfo)、ArcGIS Engine、および ArcGIS Server Workgroup に付属) |
Microsoft SQL Server Express Edition |
ArcGIS Server Enterprise に付属している ArcSDE ジオデータベース(ユーザ独自の DBMS が必要です。※ArcSDE for PostgreSQL の場合は PostgreSQL のインストールが含まれています) |
|
空間データの格納と管理
テーブル
DBMS のジオデータベース格納には、データセット テーブル(ユーザ定義テーブル)とシステム テーブルの 2 種類のテーブルが含まれています。
- データセット テーブル: ジオデータベースの各データセットは、1 つ以上のテーブルに格納されます。データセット テーブルはシステム テーブルと連携してデータを管理します。
- システム テーブル: ジオデータベースのシステム テーブルは、各ジオデータベースのコンテンツを管理します。システム テーブルは、すべてのデータセットの定義、ルール、およびリレーションシップを定義するジオデータベース スキーマを保持します。システム テーブルは、ジオデータベースのプロパティ、データ整合チェック ルール、および振舞いを実装するために必要なメタデータをすべて含んでいます。
ArcGIS 10 リリース以降、これらのテーブルの内部構造が再編されました。ジオデータベースのスキーマに関連する情報は、ArcGIS 10 より前のリリースでは 35 を超えるジオデータベース システム テーブルに格納されていましたが、ArcGIS 10 では、4 つのメイン テーブルに集約されています。
- GDB_Items - フィーチャクラス、トポロジ、ドメインなど、ジオデータベースに格納されているすべてのアイテムのリストを保持します。
- GDB_ItemTypes - Table など、認識されるアイテム タイプの定義済みリストを保持します。
- GDB_ItemRelationships - フィーチャ データセット内にどのフィーチャクラスが含まれているかなど、アイテム間のスキーマ関連を保持します。
- GDB_ItemRelationshipTypes - 認識されるリレーションシップ タイプの定義済みリスト(DatasetInFeatureDataset など)を保持します。
たとえば、SQL Server にバイナリ ジオメトリ格納タイプを使用して格納されたシンプル フィーチャクラスは、ビジネス テーブル、フィーチャ(f)テーブル、および空間インデックス(s)テーブルで構成されます。これらのテーブルは、システム テーブル(i テーブル、gdb_items、sde_table_registry、sde_layers、sde_spatial_references システム テーブル)と連携してシンプル フィーチャクラスを構成します。システムテーブルはフィーチャクラスに関する情報を追跡するために使用されます。
DBMS によって、ジオデータベースを格納および管理するために使用されるテーブルと列は異なります。したがって、ジオデータベースを格納するために使用される DBMS の種類は、ジオデータベースの物理的な格納スキーマに影響をおよぼします。
その他のファイル
ジオデータベースは、トリガ、関数、ストアド プロシージャ、およびユーザ定義タイプを DBMS 内で使用して様々な機能を実装し、整合性を維持します。基本的にこれらのデータベース オブジェクトをユーザが操作する必要はないので、このドキュメントでは、これらのオブジェクトについては詳細を省略します。
SQL を使用してジオデータベース内の情報にアクセスする方法については、「ArcSDE ジオデータベースでの SQL の使用の概要」をご参照ください。
データセット テーブルとシステム テーブルの構造の詳細については、次のトピックをご参照ください。