データリレーションシップ
データリレーションシップは、関連するフィールドのセットを関連付けるコンテナです。 データオブジェクトや、データを含むフィールドとは異なり、データリレーションシップにはデータがありません。 データリレーションシップは、むしろ、データを保存するアプリケーションの要素と、ケースを正常に完了するためにそのデータを必要とするアプリケーションの要素との間で、データを関連付ける働きをします。
データリレーションシップは、データオブジェクトとケースタイプの間、データオブジェクト間、およびケースタイプ間でデータを関連付けるために使用されます。
データリレーションシップのフィールドタイプ
データリレーションシップにはさまざまなユースケースがあるため、さまざまな設定をサポートするためのいくつかのフィールドタイプが用意されています。 どのフィールドタイプを使用するかを決定する際には、データオブジェクトに関連付けられた値が、どこに由来するものであるのかを考慮します。
以下の表では、データリレーションシップに関連するさまざまなフィールドタイプを示しています。
データリレーションシップのフィールドタイプ | データソース | ユースケース |
---|---|---|
Embedded Data | ケースに対するユーザー入力から情報を収集する場合は、このフィールドを使用します。 | 患者の緊急連絡先に関する情報を取得し、その連絡先に関する詳細を患者レコードに保存します。 |
Data reference |
ケースの外部からの別のデータオブジェクトを再利用する必要がある場合は、このフィールドを使用します。 |
ケースタイプのこのフィールドを使用して、診察を予約し、予約先の施設を参照します。 |
Case reference | 別のケースからのデータを再利用する場合は、このフィールドを使用します。 | ユーザーは、サービスケースのリストからServiceケースタイプを選択します。 |
Query | このフィールドは、ケース外にある情報に対する読み取り専用のアクセスに使用します。 Queryフィールドタイプでは、パラメーターが特定のデータを照会できます。 | 医療専門家の次の予約、または指定された時間枠内にあるすべての予約のリストを返します。 |
4つのデータリレーションシップのフィールドタイプのうち、Embedded DataとData referenceが最も使用されています。
1つのレコードののデータリレーションシップまたはレコードのリストのデータリレーションシップ
データリレーションシップを定義するために使用されるフィールドタイプに関係なく、データリレーションシップは1つのレコードまたはレコードのリストのいずれかを参照するように構成される。
1つのレコードのデータリレーションシップでは、データオブジェクトからのフィールドと値の単一セットのみが、ケースの完了に使用される状況を参照します。 次の画像に示すように、1つのレコードのリレーションシップの例はCustomerレコードです。
レコードのリストのデータリレーションシップでは、データオブジェクトからのグループ化されたフィールドと値のリストがケース完了に使用される状況を参照します。 レコードのリストのデータリレーションシップの例は、各顧客のレコードが含まれる現在の顧客のリストです。 「Current customer list of records」データリレーションシップの例は、次の画像のようになります。
以下のインタラクションで理解度をチェックしてください。
詳細なユースケース
データリレーションシップを理解しやすくするために、スーパーマーケットのOnline Orderアプリケーションの例を使用して、3つの一般的なシナリオを検討します。 アプリケーションはデータリレーションシップを使用して、データオブジェクトをDelivery Orderケースタイプに関連付けます。
Embedded Dataデータリレーションシップ
Embedded Dataフィールドタイプは、ケースインスタンス内で直接行われるユーザー入力またはユーザーアクションからデータが取得される場合に使用します。 Embedded Dataフィールドタイプのデータは、データソースを共有する代わりに、ケースインスタンス内に保存されます。 これにより、フィールドの使用はすべて、アプリケーション全体で共通の形式で行われる必要があります。 データオブジェクトを再利用してEmbedded Dataフィールドを作成することで、より一貫性のあるデータを効率的に確保できます。 ただし、データがケースとケースタイプ間で簡単に共有できるように、データはケースの外部で保存されません。
たとえば、オンライン注文アプリケーションには、Credit cardデータオブジェクトが含まれています。 Credit cardデータオブジェクトには、Card number、Expiration date、Card type、および一意に割り当てられたPega IDフィールドが含まれています。 Delivery OrderケースタイプのMLP1のビジネス要件は、注文を行う顧客が、注文のたびに支払情報を入力する必要があり、1つのクレジットカードの情報のみが注文の支払いに使用できることを示しています。
ユーザーは、ケースインスタンスで直接データを提供しているため、Credit cardデータオブジェクトは、Embedded Dataフィールドタイプを持つPayment informationと呼ばれるフィールドのOrderケースタイプに関連しています。 各注文に対して1つのクレジットカード情報のみを入力できるため、Single recordオプションが選択されます。 Credit cardデータオブジェクトとPayment informationのEmbedded Dataデータフィールドは、次の図のように表示されます。
Payment informationデータリレーションシップを作成することで、Delivery OrderケースタイプはCredit cardデータオブジェクトに関連付けられたすべてのフィールドにアクセスできるようになります。
ユーザーがDelivery Orderケースを操作する際のタスクは、クレジットカード、特にカードの種類、カード番号、有効期限のデータを入力することです。 Credit cardデータオブジェクトは、ユーザーが入力した情報と一意に割り当てられたPega ID値を保持し、この情報をPegaデータベースに書き込みます。 ケースインスタンスが保存されると、その一意のキーと、ケースに関連付けられた他のメタデータやフィールド値を使用して、クレジットカードレコードへの参照も保存します。
Data Referenceデータリレーションシップ
ケースを処理するために、ケース外から取得したデータにアクセスしなければならないことがよくあります。 Data referenceデータリレーションシップは、ローカルに保存されたデータレコードまたはデータのうち、外部のシステムオブレコードからのアクセスが行われるデータレコードまたはデータから、ケースに必要なデータが取得される場合に使用されます。
たとえば、オンライン注文アプリケーションにはCustomerデータオブジェクトが含まれています。 Customerデータオブジェクトには、Last name、Full name、Email、Phone 、およびFirst nameフィールドが含まれています。 CustomerデータオブジェクトのFirst name、Last name、Full name、Email、およびPhoneに関連する情報は、スーパーマーケットのIT部門が管理する外部のシステムオブレコードに保存されています。 各デリバリー注文ケースは1人の顧客にのみ関連付けられているため、1つのレコードのオプションが選択されます。 CustomerデータオブジェクトとOrdering customer Data Referenceフィールドは、次の図のように表示されます。
Ordering customerデータリレーションシップを作成することで、Delivery OrderケースタイプはCustomerデータオブジェクトに関連付けられたすべてのフィールドとデータ値にアクセスできるようになります。
データオブジェクト間のデータリレーションシップ
データリレーションシップを通してケースタイプでデータオブジェクトに関連付けられたフィールドやデータ値を利用できるようにするほか、データリレーションシップによって、別のデータオブジェクト内の1つのデータオブジェクトを参照することもできます。
たとえば、オンラインデリバリー注文を作成するには、利用可能な製品のリストを表示するケースタイプが必要です。 Productデータオブジェクトには、Name、Description、Price per unit、およびSKU フィールドが含まれています。 Productデータオブジェクトは、スーパーマーケットのIT部門が管理する外部データベースから取得します。 顧客は商品情報の横に数量を入力して、購入する商品を特定します。 このワークフローをサポートするために、Product lineデータオブジェクトを作成します。 Product lineデータオブジェクトには、Products フィールドや、ProductデータオブジェクトとのデータリレーションシップであるQuantity フィールドも含まれています。 Productデータオブジェクトは外部のシステムオブレコードから取得されているため、データリレーションシップのフィールドタイプはData referenceです。 情報のリストが含まれているため、選択するオプションはList of recordsです。 Product lineデータオブジェクト、Productデータオブジェクト、Ordered items Embedded Dataフィールドは、次の図のように表示されます。
Delivery OrderケースタイプでProduct lineデータオブジェクトを使用できるようにするために、データリレーションシップが作成されます。 Product lineデータオブジェクトでは、ユーザーはQuantityフィールドに数値を入力する必要があるため、Ordered productsデータリレーションシップには、Embedded Dataフィールドタイプが付与されます。 ユーザーは注文元の商品リストを受け取るため、選択されたOptionは、List of recordsになります。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。