コンポジット リレーションシップ クラスの作成

ジオデータベース内のフィーチャクラスまたはテーブルの間のリレーションシップ クラスを作成するには、ArcGIS Proリレーションシップ クラスの作成またはテーブルからリレーションシップ クラスを作成ジオプロセシング ツールを使用します。 これらのツールを使用して、シンプル リレーションシップ クラス、コンポジット リレーションシップ クラス、および属性付きリレーションシップ クラスを作成することができます。

コンポジット リレーションシップ クラスでは、子レコードが親レコードに依存します。 親レコードが削除されると、関連するすべての子レコードも削除されます。

たとえば、コンポジット リレーションシップ クラスでは、建物フットプリント (親レコード) に複数のフロア (子レコード) が含まれることがあります。 建物フットプリントが削除された場合、フロアは独立していないため、その建物フットプリントに関連付けられているフロアも削除されます。

以下の手順を開始する前に、「リレーションシップ クラス作成の準備」を参照して、データ要件をご確認ください。

注意:

リレーションシップ クラスはファイル ジオデータベース、モバイル ジオデータベース、およびエンタープライズ ジオデータベースでサポートされています。 リレーションシップ クラスを作成するには、既存のジオデータベースまたはジオデータベース内のフィーチャ データセットを右クリックします。 エンタープライズ ジオデータベース内にリレーションシップ クラスを作成する場合、データベースでデータを作成する権限のあるユーザーとして、エンタープライズ ジオデータベースに接続する必要があります。

コンポジット リレーションシップ クラスを作成するには、次の手順を実行します。

  1. ArcGIS Pro を起動して、既存のプロジェクトを開くか、テンプレートを使用せずに開始します。
  2. [カタログ] ウィンドウで、既存のジオデータベースを右クリックし、ショートカット メニューの [新規] をクリックします。

    新規オブジェクトを作成するオプションのショートカット メニュー

  3. [リレーションシップ クラス] リレーションシップの選択 をクリックします。

    リレーションシップ クラス オプション

    デフォルト設定を含む [リレーションシップ クラスの作成 (Create Relationship Class)] ジオプロセシング ツール ダイアログ ボックスが表示されます。

    リレーションシップ クラスの作成ジオプロセシング ツール

  4. [関連元テーブル] パラメーターで、リストからデータセットを選択するか、参照ボタンを使用してデータセットを見つけます。

    関連元テーブル パラメーター

  5. [関連先テーブル] パラメーターで、リストからデータセットを選択するか、参照ボタンを使用してデータセットを見つけます。

    関連先テーブル パラメーター

  6. [出力リレーションシップ クラス] パラメーターで、参照ボタン 参照 をクリックしてリレーションシップ クラスの格納先のオデータベースを参照し、[名前] テキスト ボックスにリレーションシップ クラスの名前を入力し、[保存] をクリックします。

    この例では、関連元テーブルと関連先テーブルは Wyoming Natural Assets.geodatabase という名前のモバイル ジオデータベース内にあります。 リレーションシップ クラスもこのモバイル ジオデータベース内に存在していなければなりません。 このモバイル ジオデータベースSQLite 上に構築されているため、接頭辞 main がリレーションシップ クラス名に自動的に追加され、メイン スキーマ (SQLite データベースのデフォルト スキーマ) に属していることが示されます。

    出力リレーションシップ クラス名の指定

    リレーションシップ クラスの名前は出力リレーションシップ クラス パラメーターに反映されます。

    反映された出力リレーションシップ クラス パラメーター

  7. [リレーションシップ タイプ] パラメーターで、ドロップダウン リストから [コンポジット] を選択します。

    リレーションシップ タイプ パラメーターをコンポジットに設定

    シンプル リレーションシップ クラス タイプとコンポジット リレーションシップ クラス タイプの違いについては、「ジオデータベース リレーションシップ クラスのタイプ」をご参照ください。

  8. [正方向 (関連元から関連先へ)] および [逆方向 (関連先から関連元へ)] パラメーターの値を入力します。

    正方向パス ラベルは関連元クラスから関連先クラスへのリレーションシップを記述し、逆方向パス ラベルは関連先クラスから関連元クラスへの反対方向のリレーションシップを記述します。 これらのラベルの詳細については、「リレーションシップ クラスの作成ツールのパラメーター」をご参照ください。

  9. コンポジット リレーションシップ クラスを作成しているため、[情報伝達方向] パラメーターで、[正方向 (関連元から関連先へ)] を選択します。

    情報伝達方向パラメーターを正方向に設定

    [情報伝達方向] パラメーターでは、関連オブジェクトの間でメッセージがどのように送られるかを指定します。 このパラメーターは、リレーションシップ クラスのカスタム カスケード更新/削除動作を実装する場合に適用されます。 シンプル リレーションシップ クラスまたはコンポジット リレーションシップ クラスの [情報伝達方向] パラメーターを設定することによるさまざまな影響の詳細については、「リレーションシップ クラスの作成ツールのパラメーター」をご参照ください。

  10. [基数] パラメーターで、そのリレーションシップ クラスのデータに適した基数オプションを選択します。

    基数パラメーターを 1 対多に設定

    リレーションシップ クラスの基数は、関連元のいくつのオブジェクトが関連先のいくつのオブジェクトに関連するかを示します。 [基数] パラメーターのオプションを以下に示します。

    • [1 対 1 (1:1)] - 関連元テーブル内の各行またはフィーチャを、関連先テーブル内の 0 個または 1 個の行またはフィーチャに関連付けることができます。 これがデフォルトです。
    • [1 対多 (1:M)] - 関連元テーブル内の各行またはフィーチャを、関連先テーブル内の 1 個または複数の行またはフィーチャに関連付けることができます。
    • [多対多 (M:N)] - 関連元テーブル内の複数の行またはフィーチャを、関連先テーブル内の複数の行またはフィーチャに関連付けることができます。
    この例では、[1 対多 (1:M)] オプションが使用されています。 基数の詳細については、「リレーションシップ クラスの作成ツールのパラメーター」をご参照ください。

  11. 必要に応じて、[リレーションシップ クラスに属性を含める] をオンにして (またはオフのままにして)、リレーションシップ クラスに属性を含めるかどうかを指定します。
    • オフ - リレーションシップ クラスに属性は含まれません。 これがデフォルトです。
    • オン - 属性付きリレーションシップ クラスが作成されます。 多対多 (M:N) または属性付きのリレーションシップ クラスを作成すると、新しい中間リレーションシップ クラス テーブルが作成されます。 このテーブルは、関連元オブジェクトと関連先オブジェクト間の関連付けのマッピングに使用されます。 属性付きリレーションシップ クラスの詳細については、「ジオデータベース リレーションシップ クラスのタイプ」をご参照ください。
  12. [関連元テーブルの主キー] および [関連元の外部キー] パラメーターで、関連元テーブルのフィールドと関連先テーブルのフィールドをそれぞれ指定します。

    [関連元テーブルの主キー] および [関連元の外部キー] パラメーターで、関連元フィーチャクラスの主キーと関連先テーブルの関連する外部キー フィールドを指定します。 [関連元の外部キー] パラメーターには、[関連元テーブルの主キー] パラメーターで指定したフィールドとデータ タイプが同じフィールドだけが表示されます。

    コンポジット リレーションシップ クラス用に設定されたリレーションシップ クラスの作成ツールのパラメーター

  13. [実行] をクリックしてリレーションシップ クラスを作成します。

    注意:

    [実行] ドロップダウン メニューをクリックし、[実行のスケジュール] をクリックして、ツールを後日実行したり、定期的に実行したりすることもできます。

    実行のスケジュール オプション

    ジオプロセシング ツールのスケジューリングの詳細

関連トピック