行を参照する代替キーの定義を定義する

代替キーは、外部システムとデータを統合するための効率のよい正確な方法を提供します。 これは外部システムが、Microsoft Dataverse 内の行を一意に識別するグローバル一意識別子 (GUID) ID を格納していない場合に不可欠となります。

データ統合システムは、代替キーを使用し、固有の組み合わせを表す 1 つ以上のテーブル列の値を使用して行を一意に識別します。 各代替キーには一意の名前があります。

たとえば、代替キーを使用してアカウント行を識別するには、変更しない値を持つ他の列と組み合わせて、取引先企業番号または取引先企業番号列を使用できます。

注意

Power Apps で代替キーを定義することができますが、これらはコード内のプログラムでのみ使用することができます。 プログラムで代替キーを使用する場合の詳細については、以下を参照してください。

代替キーの機能の利点には、次のものが含まれます。

  • 行のより迅速な検索。
  • より堅牢なデータの一括操作。
  • 行 ID を使用せずに、外部システムからのデータによる簡易なプログラミング。

代替キーの作成

代替キーを作成するために使用できる 2 人のデザイナーがいます。

デザイナー 説明
Power Apps ポータル 簡単な優れたエクスペリエンスを提供しますが、一部のオプションは使用できません。
詳細については次を参照してください: Power Apps ポータルを使用して代替キーを定義する
ソリューション エクスプローラー 簡単ではありませんが、一般的な要件が少ない割に柔軟性が高くなっています。
詳細: ソリューション エクスプローラーを使用した代替キーの定義

注意

以下を使用して、お客様の環境に代替キーを作成することもできます。

この記事の情報は、使用できるデザイナーの選択に役立ちます。

次のいずれかの要件に対処する必要がない限り、Power Apps ポータル を使用して代替キーを作成する必要があります。

  • Common Data Service の既定ソリューション以外のソリューション内で代替キーを作成します。
  • サポート インデックスの作成の進行状況を追跡するシステム ジョブを簡単に追跡します。

代替キーを作成する際の制限

代替キーの作成には制約があります。

代替キーに使用できるフィールド

これらの種類の列のみ代替キーを作成するために使用することができます。

  • 10 進
  • 整数
  • 1 行テキスト (文字列)
  • 日時
  • 参照
  • 選択肢

注意

  • 列のセキュリティを有効化する プロパティが有効になっている列は、代替キー として使用できません。 詳細情報: フィールド セキュリティ テーブル
  • 代替キー列で NULL 値が使用されている場合、一意性は強制されません。 レコードの重複を避けるため、代替キーの一意の制約で定義された列では null 値を使用しないでください。

キーの番号

1 つのテーブルに対して最大 10 の異なるキーを定義できます。

有効なキーのサイズ

キーの作成時に、合計のキー サイズが、キー当たり 900 バイト、キー当たり 16 列などの SQL ベースのインデックスの制約に違反しないことを含め、キーがプラットフォームによってサポートされることの確認が行われます。 キー サイズがその制約に適合しない場合は、エラー メッセージが表示されます。

キー値内の Unicode 文字

代替キーで使用される列内のデータに <>*%&:/\\# のいずれかが含まれる場合、(PATCH) アクションの更新または upset は機能しません。

一意性のみを必要とする場合はこの方法も使用することができますが、これらのキーをデータ統合の一部として使用する必要がある場合は、これらの文字を持つデータを持たない列上でキーを作成するのが最善です。

代替キーの作成状態を追跡する

代替キーが作成されると、システム ジョブが開始され、データベース テーブルにインデックスが作成され、代替キーによって使用される列に一意の制約が適用されます。 代替キーは、これらのインデックスが作成されるまで有効ではありません。 これらのインデックスの作成には、システム内のデータ量に応じて時間がかかることがあります。

システム ジョブの状態によって代替キーの状態が決まります。 代替キーは次の状態を持つことができます。

  • 保留
  • 処理中
  • Active
  • 失敗

システム ジョブが完了すると、代替キーの状態は アクティブ になり使用可能になります。

システム ジョブが失敗した場合は、システム ジョブを見つけてエラーを表示します。 システム ジョブでは、以下のパターンに従う名前があります。Create index for {0} for table {1} ここで 0 は代替キーの 表示名 であり、1 はテーブルの名前です。

注意

システム ジョブの状態を監視するには、ソリューション エクスプローラーを使用してインデックスを作成する必要があります。 それを監視できるように、システム ジョブへのリンクを含みます。 詳細: (任意) インデックスのシステム ジョブ追跡の作成を表示

関連項目

Power Apps ポータルを使用して代替キーを定義する
ソリューション エクスプローラーを使用した代替キーの定義
開発者向けドキュメント: テーブルの代替キーを定義
開発者向けドキュメント: 代替キーを使用して行を作成

注意

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

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