リレーションシップ クラスの作成および管理の概要
このトピックは、ArcGIS for Desktop Standard および ArcGIS for Desktop Advanced にのみ該当します。
リレーションシップ クラスの作成
リレーションシップを作成するには、まず、関連元オブジェクトに主キー フィールドを定義し、関連先オブジェクトに外部キー フィールドを定義する必要があります。
主キー フィールドと外部キー フィールドを定義したら、次に示す 3 つのツールのいずれかを使用して、リレーションシップ クラスを作成することができます。
- ArcCatalog またはカタログ ウィンドウで、ジオデータベースまたはフィーチャクラスを右クリックし、[新規作成] → [リレーションシップ クラス] の順にクリックします。[新規リレーションシップ クラス] ウィザードを使用して、リレーションシップのプロパティを設定します。
- ジオプロセシング フレームワーク環境のいずれかで、[リレーションシップ クラスの作成(Create Relationship Class)] ツールを使用して、リレーションシップ クラスを新規作成することができます。このツールでは、[新規リレーションシップ クラス] ウィザードのパネルと同じパラメータを指定できます。このツールは、[データ管理ツール] ツールボックス → [リレーションシップ クラス] ツールセットにあります。
- [リレーションシップ クラス] ツールセットには、[テーブルからリレーションシップ クラスを作成(Table To Relationship Class)] ツールもあります。上記の 2 つのツールとは異なり、このツールでは、多対多のリレーションシップや属性を持つリレーションシップなどで必要となる、既存の中間キー テーブルを指定することができます。2 つのテーブル間に多対多のリレーションシップを作成する場合は、このツールを使用します。
関連元クラスと関連先クラスが同じフィーチャ データセットに存在する場合、リレーションシップ クラスはそのフィーチャ データセット内に配置されます。それ以外の場合、リレーションシップ クラスはジオデータベース内直下に配置されます。
リレーションシップの作成は複数の手順で構成される場合があり、プロセスを完了するためのワークフローが異なります。どのワークフローを使用するかは、所有しているデータと作成するリレーションシップの種類によります。
- フィーチャまたはレコードからなる関連元クラスと関連先クラスにが存在し、関連元クラスの主キーが関連先クラスの適切な外部キーに関連付けられている場合は、次の手順に従います。
- [新規リレーションシップ クラス] ウィザードまたは [リレーションシップ クラスの作成(Create Relationship Class)] ツールを使用して、リレーションシップ クラスを作成します。
- 必要に応じてルールを設定します。
- ルールを設定する、またはコンポジット リレーションシップを使用する場合は、ArcMap の [フィーチャの整合チェック] コマンドを使用して参照整合性をテストします。
- フィーチャまたはレコードからなる関連元クラスと関連先クラスが存在し、関連元クラスの主キーは設定されているが、関連先クラスの外部キーが設定されていない場合、または値が正しく関連付けられていない場合には、次の手順に従います。
- [新規リレーションシップ クラス] ウィザードまたは [リレーションシップ クラスの作成(Create Relationship Class)] ツールを使用して、リレーションシップ クラスを作成します。
- 必要に応じてルールを設定します。
- ArcMap で関連元オブジェクトと関連先オブジェクトを対話形式で選択し、それらを [属性] ダイアログ ボックスで関連付けます。
これにより、関連先クラスに外部キー値が設定され、関連元クラスの主キー値に関連付けられます。ステップ 1 で属性付きのリレーションシップを作成した場合には、中間キー テーブルにレコードが追加されます。
- ステップ 1 で属性付きのリレーションシップを作成した場合、中間キー テーブルに属性を手動で入力します。
- ルールを設定する、またはコンポジット リレーションシップを使用する場合は、ArcMap の [フィーチャの整合チェック] コマンドを使用して参照整合性をテストします。
- 2 つのテーブル間で多対多のリレーションシップを作成する、またはリレーションシップ属性を含んでいる既存の中間キー テーブルを使用してリレーションシップを作成する場合には、次の手順に従います。
- 関連元テーブル、関連先テーブル、中間キー テーブルを作成し、主キー値を外部キー値に正しく関連付けます。
- [テーブルからリレーションシップ クラスを作成(Table To Relationship Class)] ツールを使用して、リレーションシップ クラスを作成します。
リレーションシップの構築と管理
ArcMap には、リレーションシップの構築と管理に役立つツールが含まれています。
- 関連元と関連先にオブジェクトが含まれているがまだ関連付けられていない場合、ArcMap でリレーションシップを 1 つずつ手動で確立できます。そのためには、関連先で 1 つ以上のオブジェクトを選択し、関連元で 1 つ以上のオブジェクトを選択した後、[属性] ダイアログ ボックスを開いてそれらを関連付けます。その際には、少なくともリレーションシップのどちらか一方のオブジェクトがフィーチャであることが前提となります。
- オブジェクトを選択した後、関連先クラスで関連オブジェクトを作成することもできますが、そのオブジェクトがフィーチャではなくテーブルの新しいレコードであることが前提となります。
- [属性] ダイアログ ボックスを使用して、リレーションシップからオブジェクトを削除できます。
- コンポジット リレーションシップまたはルール付きのリレーションシップの編集が完了したら、[フィーチャの整合チェック] コマンドを使用して結果を確認します。これにより、編集内容が参照整合性に違反しているかどうかを確認することができます。
関連トピック
5/10/2014