Konwertowanie danych relacyjnych na model grafu w Microsoft Fabric

Konwertowanie danych relacyjnych na model grafu w Microsoft Fabric ułatwia wykonywanie zapytań dotyczących połączeń bezpośrednio zamiast pisania powtarzających się sprzężeń. Ten artykuł zawiera praktyczny przepływ pracy konwersji mapowania tabel relacyjnych na typy węzłów i typy krawędzi, a następnie walidację modelu przed jego skalowaniem.

Jeśli nadal decydujesz, czy wykres jest odpowiedni dla obciążenia, najpierw zapoznaj się z tematem Porównanie grafów i relacyjnych baz danych.

Użyj tego artykułu jako listy kontrolnej do konwersji. Aby uzyskać szczegółowe reguły modelowania, zobacz Projektowanie schematu grafu.

Wymagania wstępne

Przepływ pracy konwersji

Użyj tej sekwencji podczas konwertowania danych relacyjnych:

  1. Przyjrzyj się tabelom źródłowym i zidentyfikuj jednostki w danych (klienci, produkty, zamówienia), sposób, w jaki każdy wiersz jest jednoznacznie identyfikowany i jak tabele łączą się ze sobą.
  2. Zdecyduj, które jednostki stają się typami węzłów na grafie, i która kolumna unikatowo identyfikuje każdy z nich.
  3. Zdecyduj, które połączenia tabeli stają się typami krawędzi, oraz kierunek ich kierowania (na przykład CustomerzakupyOrder).
  4. Zastosuj odpowiedni wzorzec mapowania na podstawie struktury tabeli — jeden do wielu, wiele do wielu, wartości osadzonych lub łańcuchów powiązanych tabel.
  5. Skompiluj model w edytorze modelu grafu i upewnij się, że typy węzłów i typy krawędzi są wyświetlane zgodnie z oczekiwaniami.

Profilowanie tabel relacyjnych źródła

Potwierdź następujące elementy w tabelach źródłowych:

  • Jednostki podstawowe reprezentujące różne elementy, takie jak klienci, produkty lub zamówienia.
  • Kolumny kluczy, które jednoznacznie identyfikują każdy wiersz jednostki, takie jak CustomerID, OrderID lub ProductSKU.
  • Kolumny klucza obcego definiujące relacje między tabelami, takie jak CustomerID w Orders tabeli odwołującej się do Customers tabeli.
  • Kolumny, które mogą być jednostkami osadzonymi, takimi jak Country lub Department.

Aby uzyskać szczegółowe kryteria podejmowania decyzji dotyczące jednostek, kluczy, właściwości i ograniczeń mapowania, zobacz Projektowanie schematu grafu.

Krok 2. Mapowanie jednostek na typy węzłów

Mapuj każdą jednostkę na typ węzła.

Element relacyjny Mapowanie grafu Przykład
Tabela jednostek Typ węzła Customers table ->Customer typ węzła
Klucz podstawowy Klucz węzła (ID) CustomerID_K
Kolumny opisowe Właściwości węzła FirstName, , LastNameEmailAddress

Użyj kolumny klucza ze stabilnymi, unikatowymi wartościami. Jeśli jedna kolumna nie jest unikatowa, skonfiguruj klucz złożony.

Aby uzyskać wskazówki dotyczące projektowania, zobacz Projektowanie schematu grafu.

Krok 3. Mapuj relacje na typy krawędzi

Mapuj każdą ścieżkę relacji na typ krawędzi skierowanej.

Element relacyjny Mapowanie grafu Przykład
Relacja klucza obcego Typ krawędzi purchases
Odwoływanie się do tabeli Tabela źródłowa Edge adventureworks_orders
Kolumny łączenia nadrzędnego/podrzędnego Mapowania źródeł i obiektów docelowych CustomerID_FK —>CustomerID_K

Wybierz etykiety krawędzi jako frazy czasownikowe, które są czytelnie odczytywane w zapytaniach, takich jak purchases, containsi belongsTo.

Aby uzyskać informacje o wymaganiach dotyczących mapowania krawędzi, zobacz Wybieranie typów krawędzi. Aby zapoznać się z krokami interfejsu użytkownika, zobacz Samouczek: dodawanie typów krawędzi do grafu.

Krok 4. Stosowanie typowych wzorców relacyjnych do grafu

Użyj tych wzorców podczas konwersji, a następnie postępuj zgodnie z połączonymi przewodnikami dotyczącymi szczegółowej implementacji. Aby zapoznać się z pełnymi opisami wzorców, sprawdź Typowe wzorce konwersji z tabeli na graf.

Krok 5. Kompilowanie i weryfikowanie modelu grafu

Po zakończeniu mapowań skompiluj i zweryfikuj model grafu w edytorze:

  1. Dodaj typy węzłów i skonfiguruj identyfikatory z kolumn kluczy.

  2. Dodaj typy krawędzi oraz przypisz kolumny źródłowe i docelowe.

  3. Wybierz pozycję Zapisz , aby zweryfikować model i załadować dane.

  4. Upewnij się, że oczekiwany typ węzła i etykiety typu krawędzi są wyświetlane na kanwie.

  5. Uruchom zapytania weryfikacji, aby potwierdzić relacje i kardynalność. Przykład:

    MATCH (c:Customer)-[:purchases]->(o:Order)
    RETURN c.CustomerID_K, COUNT(o) AS orderCount
    ORDER BY orderCount DESC
    

    Zaktualizuj etykiety, aby pasły do schematu. Upewnij się, że każdy typ krawędzi zwraca wyniki i że liczniki wyglądają prawidłowo.

Jeśli brakuje oczekiwanych krawędzi, sprawdź wartości kolumn łączących i typy danych w swoich tabelach źródłowych.

Rozwiązywanie typowych problemów z konwersją

  • Nie utworzono krawędzi: Potwierdź, że kolumny mapowania źródła i celu odpowiadają wartościom kluczy węzłów i typom danych.
  • Upewnij się, że kluczowe kolumny węzłów są unikatowe lub zamień na klucz złożony.
  • Wykres nadmiernie modelowany: zachowaj pola opisowe jako właściwości, chyba że musisz przejść przez nie jako jednostki.
  • Graf niedomodelowany: Wyodrębnij wspólne kolumny do typów węzłów, gdy potrzebujesz analizy relacyjnej.