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
キーセット テーブルは、次のどちらかの状態になるまでジオデータベースに作成されません。
- ArcGIS Desktop を通じて選択が実行される
- 編集セッションが開始される
どちらかの状態が発生した場合、キーセット テーブルはグローバル一時テーブルとして作成されます。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 フィールドの値が含まれます。
破線はテーブル間の暗黙的なリレーションシップを示しています。
<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 ドキュメントに格納することはできません。