Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.
Ein Diagrammschema ist die Sammlung von Knotentypen, Edgetypen und deren Eigenschaften, die die Struktur Ihres Diagramms definieren. Mit einem gut gestalteten Diagrammschema können Ihre Daten einfacher abfragen, verwaltet und erweitert werden. Dieser Artikel enthält bewährte Methoden zum Umwandeln von tabellarischen Daten in einem Seehaus in ein effektives beschriftetes Eigenschaftendiagramm in Microsoft Fabric.
Verwenden Sie diese Richtlinien, bevor Sie mit der Modellierung im Diagrammmodell-Editor beginnen. Schrittweise Anleitungen zum Erstellen von Knoten und Kanten finden Sie im Diagrammlernprogramm. Beispiele in diesem Artikel verwenden das Adventure Works-Beispiel-Dataset.
Von Bedeutung
Graph unterstützt derzeit keine Schemaentwicklung. Nachdem Sie Ihre Daten modelliert haben, ist die Struktur von Knoten, Kanten und Eigenschaften festgelegt. Strukturelle Änderungen, z. B. Hinzufügen von Eigenschaften, Ändern von Bezeichnungen oder Ändern von Beziehungstypen, erfordern, dass Sie ein neues Diagrammmodell erstellen und alle Daten neu laden. Dieser Vorgang benötigt Zeit und verbraucht Kapazität. Planen Sie ihr Schema also gründlich, bevor Sie mit der Modellierung beginnen.
Voraussetzungen
- Ein Fabric-Arbeitsbereich mit einem Seehaus, das Ihre Quelltabellen enthält.
- Vertrautheit mit dem Diagrammmodell-Editor.
- Optional: Das Adventure Works-Beispiel-Dataset , um den Beispielen in diesem Artikel zu folgen.
Grundlegendes zu Knotentypen und Edgetypen
Bevor Sie ein Schema entwerfen, sollten Sie sich mit den folgenden Kernkonzepten vertraut machen:
Ein Knotentyp definiert eine Art von Entität in Ihrem Diagramm, z. B. einen Kunden, ein Produkt oder eine Bestellung. Sie besteht aus:
- Eine Bezeichnung, bei der es sich um den Namen handelt, der diese Kategorie des Knotens identifiziert. Beispiel:
Customer. Sie verwenden die Bezeichnung in Abfragen, um auf Knoten dieses Typs zu verweisen. - Eine Zuordnungstabelle, die als Lakehouse-Tabelle die Quelldaten für den Knotentyp bereitstellt. Beispiel: die adventureworks_customers Tabelle.
- Eine Schlüsselspalte , die jeden Knoten eindeutig identifiziert (beschriftete ID im Diagrammmodell-Editor). Beispiel:
CustomerID_K. -
Eigenschaften, die Spalten aus der Tabelle sind, die zu Attributen für jeden Knoten werden. Beispiel:
FirstName,LastNameundEmailAddress.
Ein Knoten ist eine einzelne Instanz eines Knotentyps – eine Zeile in der Zuordnungstabelle. Beispielsweise wird jede Zeile in adventureworks_customers zu einem Customer Knoten.
Ein Edgetyp definiert eine Art von Beziehung zwischen zwei Knotentypen. Sie besteht aus:
- Eine Bezeichnung, bei der es sich um den Namen handelt, der diese Beziehungskategorie identifiziert. Beispiel:
purchases. - Eine Zuordnungstabelle , die die Beziehungsdaten zwischen den Quell- und Zielknoten enthält. Beispiel: die adventureworks_orders Tabelle.
- Ein Quellknotentyp und ein Zielknotentyp , den der Rand verbindet. Beispielsweise
Customerals Quelle undOrderals Ziel.
Ein Kante ist eine einzelne Instanz eines Kantentyps – eine Zeile in der Abbildungstabelle, die zwei bestimmte Knoten verbindet.
Hinweis
Im Diagrammmodell-Editor erstellen die Schaltflächen "Knoten hinzufügen" und "Randschaltflächen hinzufügen " Knotentypen und Edgetypen, nicht einzelne Knoten oder Kanten.
Identifizieren von Entitäten und Beziehungen
Identifizieren Sie zunächst die Entitäten (Dinge) und Beziehungen (Verbindungen) in Ihren Daten. Entitäten werden zu Knotentypen. Verbindungen zwischen Entitäten werden zu Edgetypen.
Stellen Sie diese Fragen zu Ihren Quelltabellen:
- Was sind die primären Entitäten? Zeilen, die unterschiedliche reale Dinge darstellen, sind Kandidaten für Knotentypen. Beispielsweise Kunden, Produkte, Bestellungen und Mitarbeiter.
- Wie stehen diese Entitäten miteinander in Beziehung? Spalten, die auf Zeilen in einer anderen Tabelle verweisen (Fremdschlüssel), schlagen Kantentypen vor. Beispielsweise verweist
CustomerID_FKin einerordersTabelle auf diecustomersTabelle, was die Modellierung einerpurchasesKante vorschlägt. - Gibt es eingebettete Entitäten? Eine Spalte innerhalb einer Tabelle kann eine unterschiedliche Entität darstellen, die in einen eigenen Knotentyp extrahiert werden sollte. Ein Beispiel finden Sie unter Auswählen von Knotentypen. Für eine schrittweise Anleitung siehe Hinzufügen mehrerer Knoten- und Edgetypen aus einer Zuordnungstabelle.
Auswählen von Knotentypen
Erstellen Sie einen Knotentyp für jede Entität, die Sie unabhängig abfragen oder durchlaufen müssen. Verwenden Sie die folgenden Richtlinien:
| Die Entität als Knotentyp festlegen, wenn... | Behalten Sie sie als Eigenschaft bei... |
|---|---|
| Sie müssen ihn erreichen oder durchqueren. | Es sind beschreibende Metadaten, die Sie nur lesen, nicht durchlaufen. |
| Mehrere Entitäten teilen eine Beziehung mit ihr. | Es ist einzigartig für die Einheit, zu der sie gehört. |
| Sie müssen sie direkt in Abfragen abgleichen oder gruppieren. | Sie filtern nur als Eigenschaft einer anderen Entität danach. |
Beispiel: Beginnt im Adventure Works-Dataset Country als Spalte in der employees Tabelle. Wenn Sie "welche Mitarbeiter in demselben Land leben?" oder "welche Länder haben die meisten Mitarbeiter?" abfragen müssen, extrahieren Sie Country einen eigenen Knotentyp. Wenn Sie nur das Land eines Mitarbeiters als Bezeichnung anzeigen müssen, belassen Sie es als Eigenschaft.
Auswählen von Schlüsselspalten
Jeder Knotentyp erfordert eine Schlüsselspalte (oder zusammengesetzten Schlüssel), die jeden Knoten eindeutig identifiziert. Wählen Sie Schlüssel sorgfältig aus:
-
Verwenden Sie vorhandene eindeutige Bezeichner aus Den Quelltabellen. Zum Beispiel:
CustomerID_KoderProductID_K. -
Vermeiden Sie Ersatzschlüssel, die keine geschäftliche Bedeutung haben, es sei denn, es gibt keinen natürlichen Schlüssel. Bevorzugen Sie zum Beispiel
CustomerIDgegenüber einer automatisch inkrementierenden Zeilennummer. -
Verwenden Sie zusammengesetzte Schlüssel , wenn eine einzelne Spalte keine Eindeutigkeit garantiert. Beispielsweise kann ein
ProductVersion-Knoten sowohlProductIDals auchVersionNumberals Schlüssel benötigt werden. - Gleichen Sie Datentypen zwischen Schlüsselspalten und den Fremdschlüsselspalten ab, die in Edgezuordnungen verwendet werden. Nicht übereinstimmende Typen verursachen Fehler bei der Erstellung von Kanten.
Tipp
Definieren Sie Schlüsseleinschränkungen für Knoten, damit die Abfrage-Engine direkte Abfragen von Schlüsseleigenschaften durchführen kann. Diese Optimierung beschleunigt Abfragen, die bestimmte Knoten nach Schlüsseln nachschlagen.
Auswählen von Edgetypen
Edgetypen definieren die Beziehungen zwischen Knotentypen. Jeder Edgetyp verbindet einen Quellknotentyp mit einem Zielknotentyp über eine Zuordnungstabelle.
Befolgen Sie die folgenden Richtlinien:
-
Verwenden Sie beschreibende Bezeichnungen , die als Verben oder Verbausdrücke gelesen werden. Beispiel:
purchases, ,sells,livesIn, undbelongsTo. Ein gut benannter Rand erleichtert das Lesen von Abfragen. - Berücksichtigen Sie die Richtung sorgfältig. Kanten in Graphen sind gerichtet. Wählen Sie die Richtung aus, die die reale Beziehung am besten darstellt. Beispielsweise
Customer-- liest sich Einkäufe>Ordernatürlicher alsOrder--gekauftVon-->Customer. - Geben Sie Edgetypen eindeutige Namen, die verschiedene Knotentyppaare verbinden. Wenn sowohl "Mitarbeiter verkauft eine Bestellung" als auch "Kunde kauft eine Bestellung" mit
Orderverbunden sind, benennen Sie siesellsundpurchasesanstatt ihnen denselben Namen zu geben. Weitere Informationen finden Sie unter Einschränkungen für die Edge-Erstellung.
Eigenschaften zu Kantentypen hinzufügen
Im Gegensatz zu Knotentypen beginnen Edgetypen ohne Eigenschaften. Sie können optional Eigenschaften hinzufügen, wenn die Daten die Beziehung selbst statt eines der Endpunkte beschreiben. Edgeeigenschaften sind am nützlichsten, wenn Sie GQL-Abfragen schreiben, die Daten über die Beziehung selbst filtern, aggregieren oder zurückgeben müssen.
Wenn Sie eine Eigenschaft hinzufügen möchten, doppelklicken Sie im Diagrammmodell-Editor auf einen Randtyp, um das Dialogfeld "Edgeschema bearbeiten " zu öffnen, wählen Sie "Eigenschaft hinzufügen" aus, und wählen Sie dann eine Spalte aus der Zuordnungstabelle aus.
Wann sollten Kanten-Eigenschaften hinzugefügt werden: Wenn eine Spalte "wie viel?", "wann?" oder "in welcher Weise?" über die Verbindung zwischen zwei Knoten antwortet, gehört sie an die Kante - nicht an die Knoten.
Beispiel: Im Adventure Works-Dataset verbindet die contains Kante Order mit Product durch die adventureworks_orders Tabelle. Spalten wie OrderQty, UnitPrice, und LineTotal beschreiben die Beziehung - wie viele eines Produkts waren in einer bestimmten Bestellung, zu welchem Preis. Spalten wie OrderDate oder ShipDate beschreiben die Reihenfolge selbst und gehören zum Order Knotentyp, nicht auf der Kante.
Von Bedeutung
Die Zuordnungstabelle für einen Rand muss Spalten enthalten, die den Schlüsselspalten der Quell- und Zielknotentypen in Werten und Datentypen entsprechen. Tabellen, die Sie zum Erstellen von Knotentypen verwenden, können auch als Kantenabbildungstabellen dienen, wenn sie diese Anforderung erfüllen.
Entfernen nicht benötigter Eigenschaften
Wenn Sie einen Knotentyp aus einer Zuordnungstabelle erstellen, wird jede Spalte in der Tabelle standardmäßig zu einer Eigenschaft. Übermäßige Eigenschaften erhöhen den Speicher, langsame Abfragen und machen das Diagramm schwieriger zu verwalten. Entfernen Sie aus diesen Gründen Eigenschaften, die Sie nicht für Abfragen oder Analysen benötigen.
Hinweis
Edgetypen funktionieren anders – sie beginnen ohne Eigenschaften. Sie fügen manuell nur die benötigten Eigenschaften mithilfe der Schaltfläche " Eigenschaft hinzufügen " im Dialogfeld " Edgeschema bearbeiten " hinzu.
Behalten Sie für jeden Knotentyp nur die folgenden Eigenschaften bei:
- Erforderlich für die Eindeutigkeit des Knotens (Schlüsselspalten)
- Wird in
WHEREFiltern oderRETURNProjektionen in Ihren Abfragen verwendet - Erforderlich für nachgelagerte Analysen oder Visualisierungen
Weitere Informationen dazu, wie sich die Eigenschaftenanzahl auf die Abfrageleistung auswirkt, finden Sie unter "Nur die benötigten Eigenschaften zurückgeben".
Datentypen auswählen
Wählen Sie den spezifischsten Datentyp für jede Eigenschaft aus. Die richtigen Typen verbessern sowohl die Speichereffizienz als auch die Abfrageleistung:
- Verwenden Sie
INToderUINT64für numerische Bezeichner und Zählwerte. Numerische Vergleiche sind schneller als Zeichenfolgenvergleiche. - Verwenden Sie
ZONED DATETIMEfür Zeitstempel anstelle von zeichenformatierten Datumsangaben. - Verwenden Sie
BOOLEANfür True/False-Flags anstelle von Zeichenfolgenwerten wie"yes"oder"no".
Eine vollständige Liste der unterstützten Typen finden Sie unter "Aktuelle Einschränkungen" – Datentypen.
Allgemeine Tabellen-zu-Graph-Muster
In der folgenden Tabelle wird zusammengefasst, wie einige gängige tabellarische Datenstrukturen in Diagrammelemente übersetzt werden:
| Tabellarische Struktur | Diagrammergebnis | Beispiel |
|---|---|---|
| One-to-many: Übergeordnete Tabelle + untergeordnete Tabelle mit Fremdschlüssel | Zwei Knotentypen, die durch einen Edgetyp verbunden sind. |
Customer
--
Käufe ->Order |
| Viele-zu-viele: Verknüpfungstabelle zwischen zwei Tabellen | Kantentyp zwischen zwei Knotentypen. |
Vendor
--
produziert-->Product |
| Eingebettete Entität: Spalte, die eine gemeinsame Entität darstellt | Extrahierter Knotentyp mit Kante. |
Employee
--
livesIn-->Country |
| Hierarchie: Kette von über- und untergeordneten Tabellen | Knotentypen, die durch Ränder auf jeder Ebene verknüpft sind. |
Product
--
isOfType-->Subcategory --belongsTo-->Category |
Um eine schrittweise Anleitung zum eingebetteten Entitätsmuster zu erhalten, siehe Hinzufügen mehrerer Knoten- und Edgetypen aus einer Zuordnungstabelle.
Ändern des Diagrammschemas
Graph unterstützt keine Schemaentwicklung. Nachdem Sie ein Diagrammmodell gespeichert haben, ist die Struktur von Knotentypen, Kantentypen und deren Eigenschaften festgelegt. Wenn Sie strukturelle Änderungen vornehmen möchten , z. B. das Hinzufügen einer Eigenschaft zu einem Knotentyp, das Entfernen eines Edgetyps oder das Ändern einer Schlüsselspalte, müssen Sie ein neues Diagrammmodell erstellen und Die Daten neu laden.
So ändern Sie Ihr Diagrammschema:
- Erstellen Sie in Ihrem Arbeitsbereich ein neues Diagrammelement, das eine Verbindung mit demselben Seehaus herstellt.
- Fügen Sie im Diagrammmodell-Editor die benötigten Knotentypen und Edgetypen hinzu, einschließlich neuer oder geänderter Eigenschaften.
- Konfigurieren Sie Schlüsselspalten und Edgezuordnungen. Stellen Sie sicher, dass Datentypen zwischen Schlüsselspalten und Fremdschlüsselspalten übereinstimmen.
- Wählen Sie "Speichern" aus, um Daten aufzunehmen und das neue Diagramm zu erstellen.
- Aktualisieren Sie alle Abfragemengen so, dass sie auf das neue Diagramm zeigen.
- Nachdem Sie überprüft haben, ob das neue Diagramm wie erwartet funktioniert, löschen Sie das ursprüngliche Diagrammelement, wenn Sie es nicht benötigen.