Microsoft Dataverse 是 Power Platform 中的企業資料平台,可讓組織建立企業應用程式。 這些應用程式可能涉及追蹤包含資料之間複雜關係的商業程序的相關資訊。 Dataverse 使用內建的一對多、多對一和多對多關聯性類型來支援常見的資料關聯性。 當您需要追蹤有關關係的相關資料時,您也可以實作更進階的多對多關係。 這種靈活性對於活動管理應用程式等應用程式來說是有益的,在這些應用程式中,追蹤出席詳細資訊需要的不僅僅是簡單的關聯。
小提示
本文提供如何在 Microsoft Dataverse 中建立複雜資料關聯性模型的範例案例和視覺化表示。 該解決方案是一個通用的範例情境架構,可以用於許多不同的情境和行業。
架構圖
Workflow
Power Apps 畫布應用程式使用 Dataverse 來管理事件管理應用程式的資料。 該應用程序允許用戶跟踪誰參加了組織銷售團隊主辦的活動。
- 連絡人:連絡人表格會追蹤銷售小組邀請參加活動的人員。
- 事件:事件表格會追蹤事件資訊,例如每個事件的名稱、日期和位置。
- 活動出席者:活動出席者表格會追蹤參加每個活動的人員及其出席資料。 此表格在 Contact 和 Event 之間具有多對多關係。 這是使用與連絡人資料表的多對一關聯以及與事件資料表的多對一關聯所建立。 此設定允許此多對多表格包含有關活動出席者的資料,例如他們的回覆狀態、出席狀態以及他們是否支付了費用。
用例
活動管理應用程序的主要目的是跟踪活動出席情況和相關信息。 要求是:
- 該應用程序需要記錄誰參加了每個活動 以及 有關他們出席的詳細信息。
- 一個人可以參加多個活動。
內建多對多關係
當建置應用程式的團隊評估資料建模選項時,他們考慮了內建的 Dataverse 多對多支援。 此方法可讓連絡人參加多個活動。 在幕後,Dataverse 會建立內部關聯資料表,以追蹤連絡人與一或多個事件資料列之間的連線。 此內部資料表無法修改,無法新增其他資料行來追蹤兩個資料表之間關係的資料。 雖然此方法滿足應用程式的部分需求,但它無法滿足追蹤聯絡人參加的每個事件的相關資訊的需求,例如回覆狀態。
手動多對多關聯
若要追蹤聯絡人參加的每個活動的其他資訊,請考慮「手動多對多」關係模式。 此模式牽涉到建立自訂資料表來代表相交資料表,然後與定義關係的兩個資料表建立兩個多對一關係。 您可以使用此方法,建立自訂資料表「事件出席者」來表示連絡人與事件之間的交集。 「活動出席者」表格包含與「連絡人」和「事件」表格的多對一關係,使其能夠儲存其他欄位,例如回覆狀態、出席狀態和付款資訊。
雖然此模式提供比內建多對多關係更大的彈性,但只有在您需要儲存有關關係的額外資料時才使用它。
何時使用每種方法
內建多對多方法: 如果您只需要知道哪些聯繫人鏈接到哪些事件,則最好——不需要額外的信息。 自動化管理資料表與資料列之間的交集。 為一次連結多個記錄提供更流暢的體驗,尤其是在針對內建方法最佳化的模型導向應用程式中。
手動多對多: 當您需要儲存每個關係的額外資料時使用。 透過交叉表輕鬆新增自訂欄位。 提供對安全性的完全控制,並允許您自動化地決定何時以及誰能建立關係。 需要更多步驟才能為每一列提供額外資訊,尤其是在同時關聯多列時。
在我們的案例中,手動模式可能需要向使用者呈現新的資料列表單,而且至少必須確定已提供要關聯的兩個資料列。 在 Power Apps 畫布應用程式中,製作者可以透過提供簡化關聯的使用者體驗來簡化這種複雜性。 另請注意,當您建立手動關係時,您必須在多對一關係上配置串聯選項,以確保如果移除任一相關列,串聯選項會自動移除追蹤關係的自訂表格列。 如果您未正確設定串聯選項以刪除自訂相交資料表列,則可能會留下孤立資料列。
在為資料模型選擇最佳選項時,請記住,沒有內建功能支援在兩種方法之間進行轉換。 選擇方法後,如果不遷移資料,就無法在它們之間切換。 仔細評估任何多對多關聯性需求,以判斷是否需要自訂資料表方法。 還要考慮您是否不僅現在而且將來需要額外的數據。 手動多對多模式儘管很複雜,但提供了更大的靈活性。
Components
Power Apps 用於實作解決方案的使用者體驗。 製作者建置應用程式來管理 Dataverse 中的資料。 製作者必須針對他們建立的任何多對多關聯性實作使用者體驗。
Dataverse:Dataverse 處理應用程式的資料需求。 Dataverse 提供多對一、一對多和多對多關係類型,以建模真實世界的商務資料連線。
考慮事項
這些考慮會實施 Power Platform Well-Architected 的核心支柱,也就是一組能夠改善工作負載品質的指導原則。 在 Microsoft Power Platform Well-Architected 中深入瞭解。
Reliability
設計工作負載以符合業務目標,並避免不必要的複雜性或額外負荷:對此類型的所有關係使用手動多對多模式,會為應用程式建立、維護和使用者體驗增加不必要的複雜性。 請務必評估每種關係,以確保您選擇的方法最適合您的要求。
安全性
保護機密性和完整性的設計:資料之間的關係可能很敏感,並直接影響業務營運。 根據預設,Dataverse 安全性模型支援資料的關聯方式,以及使用者可以對資料列執行哪些作業的精細安全性。 當您建立具有自訂相交資料表的手動多對多關係時,您會獲得額外的控制項,可用來管理誰可以對該關係資料執行哪些操作。
卓越營運
自動化所有無法從人為介入的深入解析和適應性中受益的工作:對關聯性使用串聯自動化,以在移除其中一個相關資料列時自動清理自訂交集資料表資料列。
體驗最佳化
設計簡單且有效率:選擇多對多關係的類型會影響使用者在應用程式中建立資料列之間關係的方式。 當您使用手動模式時,請建立一個一致的方法,讓使用者能夠關聯數據,並在整個應用程式中優化常見的互動情境,以保持一致。 對於 Power Apps 模型導向應用程式,請考慮在使用手動模式時提供更自訂的使用者體驗。 例如,透過使用自訂 Power Apps 畫布頁面或 Power Apps 元件架構 (PCF) 控制項,您可以提供與 Power Apps 畫布應用程式類似的簡化互動體驗。