Oracle に格納されたジオデータベースのキーセット テーブル

キーセット テーブルは ArcGIS for Desktop クライアントが整数、番号、日付、文字列タイプの属性を使用してテーブルを結合するジオデータベース リレーションシップ クエリを実行するときに、選択された行のリストを保持するために使用されます。

Oracle 用 ArcSDE ログ ファイル設定オプション」で説明しているように、ログ ファイル テーブルには選択フィーチャの OBJECTID が格納されます。キーセット テーブルは、OBJECTID 以外の属性による結合に対応するために使用されます。

キーセット テーブルはデータベース クエリのソース選択セットの行の数が 99 を超えるセッション(接続)ごとに 1 つ作成されます。

ArcGIS for Desktop のキーセット テーブル

ArcGIS for Desktop ではキーセット テーブルを確認することはできません。ただし、キーセット テーブルを作成し、データを設定することは可能です。そのためには、ArcMap のリレーションシップ クラスに関与するフィーチャクラスで 99 個を超えるレコードを選択した後、属性テーブルを開き、[オプション] メニューから関連テーブル リストを使用して関連テーブルを取得します。また、編集セッションの開始時にもキーセット テーブルが作成されます。

Oracle データベースのキーセット テーブル

キーセット テーブルは、次のどちらかの状態になるまでジオデータベースに作成されません。

CREATE TABLE 権限を持つユーザが、キーセット テーブルの作成にいたる操作を行うと、キーセット テーブルはそのユーザのスキーマに作成されます。ユーザが CREATE TABLE 権限を持っていない場合は、ジオデータベース管理者のスキーマにキーセット テーブルを作成するプロシージャが実行されます。ArcGIS for Desktop で条件を満たす選択が行われた場合、キーセット テーブルが作成され、レコードが追加されます。編集セッションを開始すると、キーセット テーブルは作成されますが、条件を満たす選択セットが作成されるまで空のままになります。キーセット テーブルは、ユーザがデータベースへの接続を終了したときに削除されます。

キーセット テーブルの命名規則は次のとおりです。

<user_schema>.keyset_<process_id>

キーセット テーブルは選択セットのキーセット ID 番号とフィーチャクラス間のリレーションシップのベースとなるフィールドの値を格納します。

次に、LATERALS テーブルと CONTRACTORS テーブル間で選択を行うためのキーセット テーブルを示します。この場合、LONG_VAL フィールドには、LATERALS テーブルと CONTRACTORS テーブルのリレーションシップ クラスのベースとなる CONTRACTOR_ID フィールドの値が含まれます。

キーセット テーブルとそれに関連する Oracle のビジネス テーブル

<user_schema>.keyset_<process_id>

次に、Oracle のキーセット テーブルの定義を示します。

フィールド名

フィールド タイプ

説明

NULL?

KEYSET_ID

NUMBER(38)

キーセット選択の ID。

NOT NULL

LONG_VAL

NUMBER

リレーションシップ クラスのベースとなるフィールドが数値フィールドの場合、そのフィールドの値。

STR_VAL

NVARCHAR2(256)

リレーションシップ クラスのベースとなるフィールドが文字列フィールドの場合、そのフィールドの値。

DBL_VAL

DOUBLE

リレーションシップ クラスのベースとなるフィールドが倍精度数値フィールドの場合、そのフィールドの値。

DATE_VAL

DATE

リレーションシップ クラスのベースとなるフィールドが日付フィールドの場合、そのフィールドの値。

XML ドキュメントのキーセット テーブル

キーセット テーブルは一時的なテーブルのため、XML ドキュメントに格納することはできません。

関連トピック

5/10/2014