ArcGIS クライアントまたは ArcGIS Server Web サービス経由でエンタープライズ ジオデータベースに接続したら、ジオデータベースに自分で追加したか、他のデータベース ユーザーが追加したデータセットを操作します。エンタープライズ ジオデータベースでは、そのデータを追跡し、ジオデータベースの振舞いを実装するためにシステム テーブルを使用します。
システム テーブルとその内容は、ArcGIS ソフトウェアまたは SDK 以外のものを使用して変更することはできません。ただし、SQL を使用してシステム テーブルの内容を表示することができます。
コア システム テーブル
コア ジオデータベース システム テーブルは、ジオデータベースの振舞いを規定し、ジオデータベースに関する情報を格納し、ジオデータベースに格納されたユーザー データを追跡します。
エンタープライズ ジオデータベースを含む SAP HANA データベースでクエリを実行する際には、sde ユーザーのスキーマの次のコア システム テーブルが表示されます。
- GDB_ARCHIVES
- GDB_BRANCH_TABLES_MODIFIED
- GDB_BRANCHES
- GDB_COLUMN_REGISTRY
- GDB_DBTUNE
- GDB_CONFLICTS
- GDB_ITEMRELATIONSHIPS
- GDB_ITEMRELATIONSHIPTYPES
- GDB_ITEMS
- GDB_ITEMTYPES
- GDB_LAYER_LOCKS
- GDB_LAYERS
- GDB_LOCATORS (未使用)
- GDB_LOCKS
- GDB_METADATA (未使用)
- GDB_MULTIBRANCH_TABLES
- GDB_OBJECT_LOCKS
- GDB_PROCESS_INFORMATION
- GDB_RASTER_COLUMNS
- GDB_REPLICALOG (未使用)
- GDB_SERVER_CONFIG
- GDB_SPATIAL_REFERENCES
- GDB_TABLE_LOCKS
- GDB_TABLE_REGISTRY
- GDB_TABLES_LAST_EDIT_TIME
- GDB_TABLES_LAST_MODIFIED
- GDB_TABLES_MODIFIED
- GDB_VERSION
エンタープライズ ジオデータベース機能を実装するテーブル
一部のジオデータベース機能の情報はコア システム テーブルにのみ格納されます。たとえば、次の機能に関する情報はコア システム テーブルに格納され、これらの機能をユーザー データに対して有効化したときに追加のテーブルはデータベースに作成されません。
- 属性ルール - GDB_ITEMS システム テーブルに格納されます。
- ブランチ バージョン - テーブルまたはフィーチャクラスが編集情報の記録のためにブランチ バージョン対応登録されるときに、6 つのフィールドがそのテーブルまたはフィーチャクラスのビジネス テーブルに追加されます。
- ドメイン - GDB_ITEMS システム テーブルに格納されます。GDB_ITEMTYPES システム テーブルのフィールドによって、オブジェクトがドメインとして識別されます。
- リレーションシップ クラス - GDB_ITEMS および GDB_ITEMRELATIONSHIPS システム テーブルに格納されます。
反対に、以降のセクションで説明するジオデータベース機能では、機能が有効化または使用されるときに追加の内部テーブルが作成されます。
ジオデータベースの履歴管理
ジオデータベースの履歴管理機能を使用すると、データのトランザクション時間履歴を追跡することができます。トランザクション時間はデータベースでフィーチャが追加、削除、更新された時点を表します。
ジオデータベースの履歴管理を有効化すると、アーカイブ クラスが作成されます。アーカイブ クラスはビジネス テーブルのコピーで、この中にはすべての同じフィールドに加えて、GDB_FROM_DATE、GDB_TO_DATE、GDB_ARCHIVE_OID の 3 つの新たなフィールドが含まれます。トラディショナル バージョン対応のテーブルまたはフィーチャクラスに対して履歴管理を有効化したときも、レコードが GDB_SDE_ARCHIVES システム テーブルに追加されます。このレコードには、履歴管理が有効なテーブルの Registration ID と、そのテーブルに対応するアーカイブ クラス テーブルが格納されます。
元のビジネス テーブル名にアンダースコアと H を追加したものが、アーカイブ クラス テーブルの名前になります。たとえば、buildings という名前のフィーチャクラスで履歴管理を有効化すると、buildings_H というアーカイブ クラスが作成されます。このアーカイブ クラス テーブルはビジネス テーブルと同じスキーマに格納されます。
キーセット テーブル
キーセット テーブルは ArcGIS クライアントでクエリ パフォーマンスを向上させるために使用されます。キーセット テーブルには、ArcGIS クライアントが整数、数値、日付、文字列タイプの属性を使用してテーブルを結合するジオデータベース リレーションシップ クエリを実行するときに、選択された行のリストが格納されます。キーセット テーブルは Object ID フィールド以外の属性による結合に対応します。
キーセット テーブルは、次のいずれかの操作が実行されて初めてジオデータベースに作成されます。
- ArcGIS Pro でマップ内のフィーチャクラスから 99 を超えるレコードを選択します。このフィーチャクラスはリレーションシップ クラスに参加しています。
- ArcGIS Pro で、リレーションシップ クラスに参加しているフィーチャクラスの属性テーブルを開き、関連テーブルを取得します。
SAP HANA のキーセット テーブルは、キーセット テーブルの作成につながる操作を実行したユーザーのスキーマに、ローカル一時テーブルとして格納されます。
ログ ファイル テーブル
ログ ファイル テーブルは、ArcGIS クライアントで、選択された行のリストを格納してクエリ パフォーマンスを向上させるために使用されます。ログ ファイル テーブルでは Object ID 属性に基づく結合が使用されます。
SAP HANA のログ ファイル テーブルは、ログ ファイル テーブルの作成につながる操作を実行したユーザーのスキーマに、ローカル一時テーブルとしてセッションごとに作成されます。