Keyset tables in a geodatabase in Informix

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

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

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

Keyset tables in ArcGIS Desktop

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

Keyset tables in an IBM Informix database

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

どちらかの状態が発生した場合、キーセット テーブルはグローバル一時テーブルとして作成されます。1 つ目のケースでは、キーセット テーブルが作成され、レコードが追加されます。2 つ目のケースでは、キーセット テーブルは作成されるだけで、条件を満たす選択セットが作成されるまで空のままになります。

Its name includes the name of the user who caused the keyset table to be created and the process identification number of the user's session. The format is as follows:

<owner>.keyset_<process_id>

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

キーセット テーブルは、一時テーブルなので、ユーザがデータベースへの接続を終了したときに削除されます。

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

Example keyset tables in Informix

破線はテーブル間の暗黙的なリレーションシップを示しています。

<owner>.keyset_<process_id>

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

Field name

Field type

Description

Null?

keyset_id

integer

キーセット選択の ID。

NOT NULL

long_val

integer

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

str_val

varchar(255)

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

dbl_val

double

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

date_val

datetime year to second

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

Keyset tables in an XML document

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

関連項目


3/6/2012