リレーションシップ クラスのモデリングにおける制限
このトピックは、ArcEditor および ArcInfo にのみ適用されます。
ジオデータベースのリレーションシップ クラスは、2 つの関連したフィーチャクラスまたはテーブル(あるいはその両方)のオブジェクト間の関連を管理します。ただし、次に説明するように制限がいくつかあります。
リレーションシップ クラスの範囲:
- リレーションシップ クラスは、同一ジオデータベース内のフィーチャクラス間またはテーブル間でのみ定義できます。
- また、フィーチャクラスまたはテーブルは、同一のユーザ スキーマ内の ArcSDE ジオデータベースに格納する必要があります。
フィーチャクラスまたはテーブルは、複数のリレーションシップ クラスに属することができます。ただし、次のようにいくつかの制限があります。
- 特定のフィーチャクラスまたはテーブルを 2 つのコンポジット リレーションシップ クラスの関連先にすることはできません。ただし、1 組のクラス間に複数のシンプル リレーションシップを確立することができます。これは、リレーションシップの方向に応じて異なる基数を適用する必要がある場合に利用できます。
- 2 つのクラスの間にコンポジット リレーションシップ クラスが存在する場合、同じ 2 つのクラスの間に他のリレーションシップ クラスを作成することはできません。
- フィーチャ データセットでリレーションシップ クラスを作成する場合、関連元または関連先クラスのどちらかはそのフィーチャ データセットに存在しなければなりません。
- ジオメトリック ネットワーク内のフィーチャクラス間にリレーションシップ クラスを設定することは避けてください。これは、データの編集時に予想外の結果になる可能性があるためです。
- 1 組みのクラス間に複数のシンプル リレーションシップを確立することができます。これは、リレーションシップの方向に応じて異なる基数を適用する必要がある場合に利用できます。
リレーションシップ クラスを使用した編集
- リレーションシップ クラスでは、関連元オブジェクトのない関連先オブジェクトを作成することができ、その場合は孤立した関連先オブジェクトとなります。
- このワークフローはジオデータベース モデルでは許可されていますが、孤立した関連先オブジェクトをデータ モデルに含めたくない場合は、エディタ ツールバーにある [フィーチャの整合チェック] ツールを使用してこれらのオブジェクトを特定することができます。
注意:
シンプル リレーションシップ クラスを使用している場合は、[フィーチャの整合チェック] ツールを実行する前に、孤立した関連先オブジェクトが作成されないようにリレーションシップ ルールを設定する必要があります。コンポジット リレーションシップ クラスの場合は、ルールを設定する必要はありません。単に [フィーチャの整合チェック] ツールを使用して、孤立した関連先オブジェクトを特定できます。
リレーションシップ クラスを使用した編集についての詳細は、「ArcMap でのリレーションシップの編集について」をご参照ください。
ArcGIS でサポートされないリレーションシップ クラスのタイプ
- 同じフィーチャクラス内にあるまたは同じテーブル内にあるレコード間の再帰リレーションシップは、ArcGIS ではサポートされていません。
- 主キーと外部キーはそれぞれに 1 つのみのフィールドに基づいている必要があります。複合主キーと外部キーは ArcGIS ではサポートされていません。
関連項目
7/10/2012