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

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

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

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

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

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

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

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

CREATE TABLE 権限を持つユーザが、キーセット テーブルの作成にいたる操作を行うと、キーセット テーブルはそのユーザのスキーマに作成されます。ユーザが CREATE TABLE 権限を持っていない場合は、ArcSDE 管理者のスキーマにキーセット テーブルを作成するプロシージャが実行されます。ArcGIS 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 ドキュメントに格納することはできません。

関連項目


3/6/2012