Freigeben über


Verwenden komplexer Beziehungen mit Microsoft Dataverse

Microsoft Dataverse ist eine Unternehmensdatenplattform in Power Platform, mit der Organisationen Unternehmensanwendungen erstellen können. Diese Anwendungen können das Nachverfolgen von Informationen zu Geschäftsprozessen umfassen, die komplexe Beziehungen zwischen Daten enthalten. Dataverse unterstützt allgemeine Datenbeziehungen mithilfe der integrierten Beziehungstypen Eins-zu-Viele, Viele-zu-Eins und Viele-zu-Viele. Sie können auch erweiterte viele-zu-viele-Beziehungen implementieren, wenn Sie verwandte Daten zur Beziehung nachverfolgen müssen. Diese Flexibilität ist für Anwendungen wie eine Ereignisverwaltungs-App von Vorteil, bei der das Nachverfolgen von Anwesenheitsdetails mehr als einfache Zuordnungen erfordert.

Tipp

Dieser Artikel enthält ein Beispielszenario und eine visuelle Darstellung, wie komplexe Datenbeziehungen in Microsoft Dataverse modelliert werden. Diese Lösung ist eine generalisierte Beispielszenarioarchitektur, die für viele verschiedene Szenarien und Branchen verwendet werden kann.

Architekturdiagramm

Architekturdiagramm, das zeigt, wie die Tabellen

Arbeitsablauf

Eine Power Apps-Canvasanwendung verwendet Dataverse zum Verwalten von Daten für eine Ereignisverwaltungsanwendung. Die Anwendung ermöglicht es dem Benutzer, nachzuverfolgen, wer an der Veranstaltung (oder den Ereignissen) teilgenommen hat, die vom Vertriebsteam der Organisation gehostet werden.

  • Kontakt: In der Tabelle "Kontakt" werden Personen nachverfolgt, die das Vertriebsteam zu Veranstaltungen einlädt.
  • Ereignis: In der Ereignistabelle werden Ereignisinformationen wie Name, Datum und Ort der einzelnen Ereignisse nachverfolgt.
  • Ereignisteilnehmer: Die Tabelle "Ereignisteilnehmer" verfolgt, wer an den einzelnen Veranstaltungen teilnimmt, sowie deren Anwesenheitsdaten. Diese Tabelle weist eine n:n-Beziehung zwischen Kontakt und Ereignis auf. Es wird mit einer n:1-Beziehung mit der Tabelle Kontakt und einer n:1-Beziehung mit der Tabelle Ereignis erstellt. Diese Viele-zu-viele-Tabelle ermöglicht es, Daten über die Teilnehmer einer Veranstaltung einzuschließen, wie z. B. den Status ihrer Teilnahmebestätigung, ihren Anwesenheitsstatus und ob sie eine Gebühr bezahlt haben.

Anwendungsfall

Der Hauptzweck der Ereignisverwaltungsanwendung besteht darin, die Anwesenheit von Ereignissen und damit verbundenen Informationen nachzuverfolgen. Die Anforderungen sind:

  • Die Anwendung muss aufzeichnen, wer an jeder Veranstaltung teilgenommen hat und Details zu ihrer Teilnahme.
  • Eine Person kann an mehreren Veranstaltungen teilnehmen.

Integriert in n:n-Beziehung

Als das Team, das die Anwendung entwickelt, Optionen für die Datenmodellierung bewerteten, betrachteten sie die integrierte Dataverse n:n-Unterstützung. Dieser Ansatz ermöglicht es einem Kontakt, an mehreren Ereignissen teilzunehmen. Im Hintergrund erstellt Dataverse eine interne Verknüpfungstabelle, die die Verbindungen zwischen dem Kontakt und einem oder mehreren Ereignisdatensätzen verfolgt. Diese interne Tabelle kann nicht geändert werden– zusätzliche Spalten zum Nachverfolgen von Daten über die Beziehung zwischen den beiden Tabellen können nicht hinzugefügt werden. Obwohl dieser Ansatz Teil der Anforderungen der App erfüllt, ist es nicht erforderlich, Informationen zu jedem Ereignis zu verfolgen, an dem der Kontakt teilnimmt, z. B. RSVP-Status.

Manuelle viele-zu-viele-Beziehung

Wenn Sie zusätzliche Informationen zu jedem Ereignis nachverfolgen möchten, an dem ein Kontakt teilnimmt, sollten Sie das "manuelle viele-zu-viele"-Beziehungsmuster berücksichtigen. Dieses Muster umfasst das Erstellen einer benutzerdefinierten Tabelle zur Darstellung der überschneidenden Tabelle und anschließend das Einrichten von zwei n:1-Beziehungen zu den beiden Tabellen, die die Beziehung definieren. Mit diesem Ansatz erstellen Sie eine benutzerdefinierte Tabelle, Ereignisteilnehmer, um die Schnittmenge zwischen dem Kontakt und dem Ereignis darzustellen. Die Tabelle "Ereignisteilnehmer" enthält Viele-zu-eins-Beziehungen zur Kontakttabelle und zur Ereignistabelle, wodurch es möglich ist, andere Felder wie RSVP-Status, Anwesenheitsstatus und Zahlungsinformationen zu speichern.

Obwohl dieses Muster mehr Flexibilität bietet als die integrierte Viele-zu-Viele-Beziehung, verwenden Sie es nur, wenn Sie zusätzliche Daten über die Beziehung speichern müssen.

Wann jeder Ansatz verwendet werden soll

Integrierter Viele-zu-Viele-Ansatz: Er eignet sich am besten, wenn Sie nur wissen müssen, welche Kontakte mit welchen Ereignissen verknüpft sind - es sind keine zusätzlichen Informationen erforderlich. Automatisiert die Verwaltung der Schnittmenge von Tabellen und Zeilen. Bietet eine reibungslosere Oberfläche zum gleichzeitigen Verknüpfen mehrerer Datensätze, insbesondere in modellgesteuerten Apps, die für den integrierten Ansatz optimiert sind.

Manuelles n:n: Verwenden, wenn Sie zusätzliche Daten zu jeder Beziehung speichern müssen. Einfacheres Hinzufügen von benutzerdefinierten Feldern über die Schnitttabelle. Bietet volle Kontrolle über die Sicherheit und ermöglicht es Ihnen, zu automatisieren, wann und mit wem eine Beziehung aufgebaut werden kann. Erfordert weitere Schritte, um zusätzliche Informationen für jede Zeile bereitzustellen (besonders spürbar, wenn mehrere Zeilen gleichzeitig zugeordnet werden).

Bei unserem Szenario kann das manuelle Muster dazu führen, dass dem Benutzer ein neues Zeilenformular angezeigt wird und mindestens sichergestellt ist, dass die beiden zugeordneten Zeilen bereitgestellt werden. In Power Apps-Canvasanwendungen können Entwickler diese Komplexität vereinfachen, indem sie eine Benutzererfahrung bereitstellen, die die Zuordnung optimiert. Beachten Sie auch, dass Sie beim Erstellen einer manuellen Beziehung die Kaskadenoptionen für die n:1-Beziehungen konfigurieren müssen, um sicherzustellen, dass, falls eine der zugehörigen Zeilen entfernt wird, die Kaskadenoptionen das Entfernen der benutzerdefinierten Tabellenzeile, die die Beziehung nachverfolgt, automatisch durchführen. Wenn Sie die Kaskadenoptionen nicht ordnungsgemäß konfigurieren, um die benutzerdefinierte Schnittmengentabellenzeile zu löschen, besteht das Risiko, dass verwaiste Zeilen entstehen.

Beachten Sie bei der Auswahl zwischen der besten Option für Ihr Datenmodell, dass es keine integrierte Unterstützung für die Konvertierung zwischen den beiden Ansätzen gibt. Nachdem Sie einen Ansatz ausgewählt haben, können Sie nicht zwischen diesen wechseln, ohne Ihre Daten zu migrieren. Bewerten Sie sorgfältig die Notwendigkeit jeder n:n-Beziehung, um festzustellen, ob ein benutzerdefinierter Tabellenansatz erforderlich ist. Überlegen Sie auch, ob Sie zusätzliche Daten nicht nur jetzt, sondern in Zukunft benötigen. Das manuelle viele-zu-viele-Muster bietet trotz seiner Komplexität mehr Flexibilität.

Komponenten

Power Apps wird verwendet, um die Benutzererfahrung der Lösung zu implementieren. Entscheidungsträger erstellen die Anwendung, um die Daten in Dataverse zu verwalten. Die Entwickler müssen die Benutzererfahrung für alle n:n-Beziehungen implementieren, die sie erstellen.

Dataverse: Dataverse verarbeitet die Datenanforderungen der Anwendung. Dataverse stellt n:1-, 1:n- und n:n-Beziehungstypen zum Modellieren realer Geschäftsdatenverbindungen bereit.

Überlegungen

Diese Überlegungen implementieren die Säulen von Power Platform Well-Architected, eine Reihe von Leitprinzipien, welche die Qualität einer Workload verbessern. Weitere Informationen finden Sie unter Microsoft Power Platform Well-Architected.

Zuverlässigkeit

Entwerfen Sie Arbeitslasten zur Ausrichtung an Geschäftsziele und vermeiden Sie unnötige Komplexität oder Mehraufwand: Die Verwendung des manuellen n:n-Musters für alle Beziehungen dieses Typs fügt unnötige Komplexität bei der Anwendungserstellung, Wartung und Benutzererfahrung hinzu. Achten Sie darauf, jede Beziehung auszuwerten, um sicherzustellen, dass der von Ihnen gewählte Ansatz den besten Anforderungen entspricht.

Sicherheit

Design zum Schutz der Vertraulichkeit und Integrität: Beziehungen zwischen Daten können vertraulich sein und sich direkt auf Geschäftsvorgänge auswirken. Standardmäßig bietet das Dataverse-Sicherheitsmodell Unterstützung für granulare Sicherheit bei der Beziehung von Daten und den Vorgängen, die ein Benutzer für die Datenzeilen ausführen kann. Wenn Sie eine manuelle n:n-Beziehung mit einer benutzerdefinierten Überschnitttabelle erstellen, erhalten Sie zusätzliche Steuerelemente, mit denen Sie verwalten können, wer mit diesen Beziehungsdaten was tun kann.

Operative Exzellenz

Automatisieren Sie alle Aufgaben, die nicht von der Einsicht und Anpassungsfähigkeit des menschlichen Eingreifens profitieren: Verwenden Sie die Kaskadenautomatisierung für die Beziehungen, um benutzerdefinierte Schnittpunkttabellenzeilen automatisch zu bereinigen, wenn eine der zugehörigen Zeilen entfernt wird.

Umgebungsoptimierung

Design für Einfachheit und Effizienz: Die Auswahl des Typs der n:n-Beziehung wirkt sich darauf aus, wie der Benutzer die Beziehungen zwischen Datenzeilen in der Anwendung festlegt. Wenn Sie das manuelle Muster verwenden, richten Sie eine konsistente Möglichkeit für Benutzer ein, Daten zu verknüpfen und allgemeine Interaktionsszenarien auf einheitliche Weise in der gesamten Anwendung zu optimieren. Für modellgesteuerte Power Apps-Anwendungen sollten Sie bei Verwendung des manuellen Musters eine benutzerdefiniertere Benutzeroberfläche bereitstellen. Wenn Sie z. B. eine benutzerdefinierte Power Apps-Canvasseite oder ein POWER Apps-Komponentenframework (PCF)-Steuerelement verwenden, können Sie eine ähnliche optimierte Interaktion wie in einer Power Apps-Canvas-App bereitstellen.