テーブル間に関連付けを作成する

あるテーブルのデータは、多くの場合、別のテーブルのデータに関連しています。 たとえば、教師 テーブルと クラス テーブルがある場合、クラス テーブルには、どの教師がクラスを教えるかを示す 教師 テーブルに対するルックアップ上の関係があります。 教師 テーブルからのデータを表示するためにルックアップ列を使用できます。 これは一般的にルックアップ列と呼ばれます。

関連付けの定義

1 つのテーブルから別のテーブルへ (またはテーブルとそれとの間) と、複数の種類の関連付けを作成できます。 テーブルごとに複数のテーブルとの関連付けができ、各テーブルは別のテーブルに対して複数の関連付けを持つことができます。 共通の顧客間関係の種類は次のとおりです:

  • 多対 1 - このタイプの関係付けでは、テーブル A の各列はテーブル B の複数の列とマッチングできますが、テーブル B の各列はテーブル A の 1 つの列のみとマッチングできます。たとえば、1 つのクラスには 1 つの教室があります。 これは、最も一般的な関連付けで、列の一覧では ルックアップ列 として表示されます
  • 1 対 多 - このタイプの関係付けでは、テーブル B の各列はテーブル A の複数の列とマッチングできますが、テーブル A の各列はテーブル B の 1 つの列のみとマッチングできます。たとえば、1 人の教師が多数のクラスを教える場合です。
  • 多対多 - このタイプの関係付けでは、テーブル A の各レコードはテーブル B の複数のレコードにマッチングでき、その逆も可能です。 たとえば、生徒は複数のクラスに出席し、各クラスには複数の生徒がいます。

また、親テーブルでアクションが実行されるたびに、多対 1 および 1 対多の関係に高度なカスケード動作を設定できます。

ルックアップ列を追加する (多対 1 の関係)

テーブルにルックアップ リレーションシップを追加するには、リレーションシップ 領域でリレーションシップを作成し、リレーションシップを作成するテーブルを指定します。

  1. 左側のナビゲーション ウィンドウの、powerapps.com で、ゲートウェイを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。

  2. 既存のテーブルを選択するか、新規テーブルを作成 します

  3. リレーションシップ 領域を選択します。

  4. リレーションシップの追加 を選択して、次に、多対一 のような関連付けの種類を選択します。

  5. 右側のペインで、現在 テーブルで 関連済 テーブルを選択し、完了 を選択します。

    多対 1 の関係例。

  6. テーブルの保存を選択します。

    多対一のリレーションシップ。

一対多の関連付けを追加する

一対多のリレーションシップを追加するには、リレーションシップ 領域でリレーションシップを作成し、リレーションシップを作成するテーブルを指定します。

  1. powerapps.com で、左側のナビゲーション ウィンドウのテーブルを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。

  2. 既存のテーブルを選択するか、新規テーブルを作成 します

  3. リレーションシップ 領域を選択します。

  4. リレーションシップの追加 の右側にある下矢印を選択し、次に 一対多 を選択します。

    一対多のリレーションシップ。

  5. テーブルを選択します。 ルックアップ 列に 現在 テーブルが表示され、これらの列はテーブル名 (この例では教師) で規定設定されていますが、これは必要に応じて変更できます。 完了 を選択して、テーブルに関係を追加します。

    注意

    1 対多の関連付けの場合、ルックアップ列は現在選択したテーブル上ではなく、関連テーブル上で作成されます。 現在のテーブルで検索が必要な場合は、多対 1 の関連付けを作成してください。

    一対多の例。

  6. テーブルの保存を選択します。

多対多関連付けの追加

多対多のリレーションシップを追加するには、リレーションシップ 領域でリレーションシップを作成し、リレーションシップを作成するテーブルを指定します。

  1. powerapps.com で、左側のナビゲーション ウィンドウのテーブルを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。

  2. 既存のテーブルを選択するか、新規テーブルを作成 します

  3. リレーションシップ 領域を選択します。

  4. リレーションシップの追加 を選択して 多対多 を選択します。 これによりパネルが開き、リレーションシップを作成するテーブルを選択できます。 関連テーブル のドロップダウンからテーブルを選択します。

  5. テーブルを選択すると、関連付けと関連テーブルの名前が表示されます。 それらは組み合わされたテーブル名が既定設定されますが、必要に応じて変更できます。

    多対多のリレーションシップ。

  6. 完了 を選択してテーブルへの関連付けを追加し、テーブルの保存 をクリックします。

高度な関連付け動作を追加する

1 対多や多対 1 の関連付けを構築しながら高度な動作も設定できます。

高度な動作。

これらのオプションは関連するテーブルの階層を伝播するため、伝播動作とも呼ばれます。 たとえば、学生がシステムから削除された場合、学生に関連するテストや宿題を削除することが望ましい場合があります。 この種類の行動は上位関係と呼ばれます。

一方、アクションを階層の下に伝播する必要がないと決めることもあります。 たとえば、クラスに対する教師の関連付けでは、親 (教師) が削除されたときに子テーブル (クラス) が削除され ない ように決定できます。 これは参照の関連付けと呼ばれます。

ユーザー定義テーブルを作成したり既存の共通データ モデル テーブルを使用してビジネス データをモデル化する場合は、必要な動作と関連するテーブルの階層全体に対する影響を考慮し、次の標準動作からひとつ選択します:

  • 参照、リンクの削除: ふたつのテーブルの間に参照の関連付けがある場合、関連する任意の列に移動できますが、一方のテーブルに対して実行したアクションが他方に影響することはありません。 たとえば、教師とクラスの間に 1 対多の関係がある場合、教師を削除しても関連するクラスに影響しません。

  • 参照用、制限付き削除: ふたつのテーブル間で参照用、制限付き削除の関連付けがある場合、関連する任意の列に移動できます。 親の列に対して実行されたアクションは子の列には適用されませんが、子の列が存在している間は、親の列を削除することはできません。 これは子の列を孤立させない場合に役立ちます。 これにはユーザーが親を削除する前にすべての子を削除する必要があります。

    参照、削除制限。

  • 親: 2 つのテーブルの間に上位下位の関連付けがある場合は、親テーブルのレコードに対して実行されたアクションが、主テーブル レコードに関連する子テーブル レコードにも実行されます。 たとえば、親レコードの所有者は、子テーブル レコードへのアクセス権を継承しているため、親レコードが削除されると、すべての子レコードも削除されます。

  • ユーザー定義: ふたつのテーブル間のユーザー定義の関連付けでは、一連の可能なアクションのそれぞれに関連する動作を選択します。

    ユーザー定義の動作。

既定とユーザー定義動作の詳細: テーブル関係の動作の構成

アプリでルックアップ列を使用します

ルックアップ列を含むテーブルから アプリを自動的に作成 する場合、テーブルの プライマリ名 フィールドからのデータを含む ドロップ ダウン コントロールとして表示されます。

キャンバス アプリの 1:N および N:N の関連付けを追加

関連付け 機能を使用して、Microsoft Dataverse の 1 対多または多対多の関係を通じて 2 つの列をリンクします。 詳細については次を参照してください: Power Appsの関連付け と 関連付け解除の関数

次のステップ

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。