Einführung

Abgeschlossen

Beim Modellieren von Daten in Microsoft Dataverse werden separate Tabellen verwendet, um unterschiedliche Objekte und Konzepte darzustellen. Organisationen können mehr Tabellen verwenden, um bestimmte Informationen zu sichern, Datenwiederholungen zu vermeiden, andere Eigenschaften zu beschreiben oder die Berichterstellung zu vereinfachen. Da reale Objekte miteinander in Beziehung stehen, werden die Beziehungen in Dataverse verwendet, um Zeilen zwischen Tabellen zu verknüpfen. Darüber hinaus können Beziehungen Einschränkungen und Verhaltensweisen bereitstellen, die gelten, wenn Aktionen an den Datensätzen ausgeführt werden.

Im Grunde können Dataverse-Tabellen und ‑Beziehungen zusammenarbeiten, um die Geschichte Ihrer Daten zu erzählen. Wenn Sie eine gute Benutzererfahrung in einer Canvas-App von Microsoft Power Apps mithilfe der Tabellen und Beziehungen erstellen, sollten Sie unnötige Komplexitäten des Datenmodells ausblenden. Dazu ist eine effiziente Navigation Ihrer Formeln und Datennutzung durch die Tabellen anhand der Beziehungen erforderlich. In diesem Modul wird untersucht, wie die verschiedenen von Dataverse bereitstellten Beziehungstypen verwendet werden.

Szenario: Von Contoso freigegebene Arbeitsbereiche

In diesem Modul wird anhand eines gängigen Geschäftsszenarios gezeigt, wie Dataverse-Beziehungen mit Canvas-Apps funktionieren. Contoso hat, wie viele Unternehmen, mehrere Standorte und ermöglicht den Mitarbeitern die Arbeit von zu Hause aus. Diese Mitarbeiter müssen gelegentlich ins Büro kommen und benötigen während ihres Besuchs einen Schreibtisch. Zuvor hatte Contoso seine Mitarbeiter angewiesen, sich bei ihrer Ankunft im Büro nach einem freien Schreibtisch umzusehen. Das Unternehmen hat inzwischen festgestellt, dass diese Art von gemeinsam genutzten Arbeitsplätzen, die manchmal auch als Hot Desking bezeichnet werden, Herausforderungen für den IT-Support und die Lizenzierung mit sich gebracht haben. Daher plant das Unternehmen die Entwicklung einer Lösung, mit der die Mitarbeiter die verfügbaren Schreibtische anzeigen und im Voraus reservieren können. Das Team, das die Lösung entwickelt, hat die folgenden Tabellen als Teil seines Dataverse-Datenmodells identifiziert.

Tabellenname Beschreibung
Standort Diese Tabelle stellt die einzelnen Gebäude dar und enthält beispielsweise Spalten für Adressen und Telefonnummern. Jeder Standort verfügt über einen primären Kontakt.
Schreibtisch Diese Tabelle stellt den tatsächlichen Schreibtisch dar, den eine Person reservieren kann. Schreibtische befinden sich an einem bestimmten Standort.
Schreibtischfunktion Verschiedene Schreibtische haben unterschiedliche Funktionen. Einige Schreibtische können beispielsweise mit einer Freisprecheinrichtung ausgestattet sein, andere hingegen können sich in einem geschlossenen Raum befinden. Es wird eine Standardliste von Schreibtischfunktionen einbezogen, und jeder Schreibtisch kann mindestens eine dieser Funktionen aufweisen.
Benutzer Benutzer stellen Personen dar, die den Schreibtisch reservieren oder als primärer Kontakt für einen Standort fungieren können.
Reservierung Diese Tabelle stellt die Reservierung für eine Person dar, die einen bestimmten Schreibtisch an einem bestimmten Standort in einem bestimmten Zeitfenster nutzen soll.

Dataverse-Beziehungstypen

Wenn Sie eine Beziehung zwischen Tabellen erstellen, definiert der Beziehungstyp die Kardinalitätseinschränkungen jeder Seite der Beziehung. Dataverse unterstützt Eins-zu-viele‑ und Viele-zu-viele-Beziehungen.

Eins-zu-viele-Beziehungen

Die Eins-zu-viele-Beziehung (die auch als 1:n‑ oder über-/untergeordnete Beziehung bezeichnet wird) umfasst eine primäre (übergeordnete) Tabelle, in der eine einzelne Zeile vielen zugehörigen (untergeordneten) Tabellenzeilen zugeordnet werden kann, indem eine Suchspalte in der zugehörigen (untergeordneten) Tabelle verwendet wird. Die primäre Zeile wird als übergeordnete Zeile und die zugehörigen Tabellenzeilen werden als untergeordnete Zeilen bezeichnet. Sie können eine untergeordnete Zeile nur einer übergeordneten Zeile zuordnen.

Eine Eins-zu-viele-Beziehung wird auch als Viele-zu-Eins-Beziehung (oder N:1-Beziehung) bezeichnet, bei der Sie die Beziehung beginnend mit dem untergeordneten Element verwenden, das auf das übergeordnete Element verweist. Es ist dieselbe Definition der physischen Beziehung, jedoch aus einem anderen Blickwinkel. Wenn Sie in einer Canvas-App mit dem untergeordneten Datensatz arbeiten und eine Eigenschaft des übergeordneten Datensatzes anzeigen möchten, verwenden Sie die Navigationseigenschaft „n:1-Beziehung“ in der untergeordneten Zeile.

Standardmäßig wird eine einzelne Tabelle als Primärtabelle verwendet, und die Suchspalte verweist immer auf eine Zeile aus dieser Tabelle. Dataverse unterstützt auch die Suche über mehrere Tabellen (manchmal als polymorphe Suchen bezeichnet), die es einem Suchfeld ermöglichen, auf eine Zeile aus einer der mehreren Tabellen zu verweisen, was Flexibilität für komplexere Datenmodelle bietet. Sie können beispielsweise eine Spalte des Typs „Suche über mehrere Tabellen“ einrichten, indem Sie eine Spalte vom Datentyp „Debitor“ erstellen. Anschließend können Sie den Debitorensuchwert so einstellen, dass er auf einen Kontakt oder eine Zeile der Kontotabelle verweist. In allen Aktivitätstabellen (z. B. E-Mail, Aufgabe usw.) kann die entsprechende Spalte auf jede Tabelle verweisen, die für die Aktivitätsverfolgung aktiviert ist. Darüber hinaus können Sie mit der Spalte vom Typ Suche über mehrere Tabellen eine benutzerdefinierte Spalte vom Typ „Suche über mehrere Tabellen“ einrichten. Wenn Sie mit diesen Spalten vom Typ „Suche über mehrere Tabellen“ in Power Apps arbeiten, verwenden Sie die Funktionen IsType und AsType Microsoft Power Fx, um die übergeordnete Tabelle zu bestimmen und die Daten zu verwenden.

Im Beispieldatenmodell des Moduls wurden die folgenden 1:n-Beziehungen zur Unterstützung des Szenarios definiert.

Primäre Tabelle Verknüpfte Tabelle Beschreibung
Standort Schreibtisch Der Schreibtisch hat einen Standort.
Benutzer Standort Jeder Standort verfügt über einen primären Kontakt.
Benutzer Reservierung Benutzer, für den der Schreibtisch reserviert ist.
Schreibtisch Reservierung Jede Reservierung gilt für einen bestimmten Schreibtisch.

Beim Einrichten einer 1:n-Beziehung können Sie auch das Beziehungsverhalten einrichten. Anhand des Verhaltens wird bestimmt, was geschehen soll, wenn die primäre Tabellenzeile gelöscht, zugewiesen, freigegeben, deren Freigabe aufgehoben oder sie neu übergeordnet wird. Das Standardverhalten ist der Verweis, der so eingerichtet ist, dass die Verknüpfung zwischen den beiden Tabellen aufgehoben wird, wenn die primäre Tabellenzeile gelöscht wird. Die Standorttabelle enthält beispielsweise mehrere Schreibtische und verwendet die Standardkonfiguration. Wenn Ihre Canvas-App also eine Standortzeile löscht, werden standardmäßig alle zugeordneten Schreibtische verwaist. Wenn die Geschäftsanforderung darin besteht, zugeordnete Schreibtischdatensätze beim Löschen eines Standorts zu entfernen, können Sie die Funktion ForAll auswählen, die zuerst alle zugehörigen Schreibtischdatensätze löscht. Eine bessere Option besteht darin, den übergeordneten Verhaltenstyp für die Beziehung einzurichten. Dieser Verhaltenstyp löscht automatisch die zugeordneten Datensätze, wenn der primäre Datensatz gelöscht wird. Dieser Ansatz stellt sicher, dass keine verwaisten Schreibtischdatensätze vorliegen.

Wenn Sie eine Canvas-App erstellen und zugehörige Tabellen verwenden, können Sie die richtige Logik implementieren, wenn Sie wissen, wie die Verhaltensweisen für diese Beziehung eingerichtet sind.

Viele-zu-viele-Beziehungen

Die Viele-zu-viele-Beziehung (auch als N:N-Beziehung bezeichnet) enthält eine spezielle ausgeblendete Tabelle, die als Beziehungstabelle und manchmal als Überschneidungstabelle bezeichnet wird. In dieser Tabelle wird dargestellt, wie die vielen Zeilen einer Tabelle mit den vielen Zeilen einer anderen Tabelle verknüpft werden können. Viele-zu-viele-Beziehungen können die Zuordnung nachverfolgen, die Überschneidungstabelle kann jedoch nicht geändert werden, um benutzerdefinierte Spalten hinzuzufügen, die die Beziehung beschreiben.

Im Beispiel dieses Moduls haben Schreibtisch und Schreibtischfunktion eine Viele-zu-viele-Beziehung. Die Liste der Schreibtischfunktionen würde von allen Schreibtischen gemeinsam genutzt, und jedem Schreibtisch könnte mindestens ein Merkmal zugeordnet sein. Durch Viele-zu-viele-Beziehungen wissen Benutzer, dass der Schreibtisch über Stühle verfügt, Sie können jedoch nicht speichern, über wie viele Stühle jeder Schreibtisch verfügte.

Das folgende Video zeigt, wie Sie Beziehungen zwischen Tabellen erstellen.

Nachdem Sie alle Tabellen und Beziehungen erstellt haben, sollte das Datenmodell für das Beispielszenario dem folgenden Diagramm entsprechen.

Diagramm eines Beispieldatenmodells, das Beziehungen zwischen Tabellen zeigt

Im Rest dieses Moduls wird erläutert, wie Sie mit diesem Datenmodell von einer Canvas-App aus arbeiten.