Převod relačních dat na grafový model v Microsoft Fabric

Převod relačních dat na grafový model v Microsoft Fabric pomáhá dotazovat se na připojení přímo místo psaní opakovaných spojení. Tento článek obsahuje praktický pracovní postup převodu pro mapování relačních tabulek na typy uzlů a hraniční typy a následné ověření modelu před jeho škálováním.

Pokud se stále rozhodujete, jestli je graf pro vaši úlohu nejvhodnější, nejprve si projděte porovnání grafů a relačních databází.

Tento článek použijte jako kontrolní seznam pro převod. Podrobná pravidla modelování najdete v tématu Návrh schématu grafu.

Předpoklady

  • Pracovní prostor Fabric s oprávněním vytvářet položky.
  • Jezero, které obsahuje zdrojové relační tabulky.
  • Graf je dostupný ve vašem regionu.
  • Znalost editoru grafových modelů Pokud s grafem začínáte, začněte kurzem : Úvod do grafu.

Pracovní postup převodu

Tuto posloupnost použijte při převodu relačních dat:

  1. Prohlédněte si zdrojové tabulky a identifikujte entity v datech (zákazníci, produkty, objednávky), jak se jednotlivé řádky jednoznačně identifikují a jak se tabulky vzájemně propojují.
  2. Rozhodněte se, které entity se stanou typy uzlů v grafu a který sloupec jednoznačně identifikuje jednotlivé entity.
  3. Rozhodněte se, která připojení tabulek se stanou hraničními typy a jakým směrem se dostanou (například CustomernákupyOrder).
  4. Použijte správný vzor mapování na základě struktury vaší tabulky – jedna ku mnoha, mnoho ku mnoha, vložené hodnoty nebo řetězce souvisejících tabulek.
  5. Sestavte model v editoru modelů grafu a ověřte, že se typy uzlů a hraniční typy zobrazují podle očekávání.

Krok 1: Profilování zdrojových relačních tabulek

Potvrďte ve zdrojových tabulkách následující položky:

  • Primární entity, které představují jedinečné věci, jako jsou zákazníci, produkty nebo objednávky.
  • Klíčové sloupce, které jednoznačně identifikují každý řádek entity, například CustomerID, OrderIDnebo ProductSKU.
  • Sloupce cizího klíče, které definují relace mezi tabulkami, například CustomerID v Orders tabulce odkazující Customers na tabulku.
  • Sloupce, které mohou zahrnovat vložené entity, jako například Country nebo Department.

Podrobná rozhodovací kritéria týkající se entit, klíčů, vlastností a omezení mapování najdete v tématu Návrh schématu grafu.

Krok 2: Mapování entit na typy uzlů

Namapujte každou entitu na typ uzlu.

Relační prvek Mapování grafů Example
Tabulka entit Typ uzlu Customers table –>Customer typ uzlu
Primární klíč Klíč uzlu (ID) CustomerID_K
Popisné sloupce Vlastnosti uzlu FirstName, LastName, EmailAddress

Použijte klíčový sloupec se stabilními jedinečnými hodnotami. Pokud jeden sloupec není jedinečný, nakonfigurujte složený klíč.

Pokyny k návrhu najdete v tématu Návrh schématu grafu.

Krok 3: Mapování relací na typy okrajů

Namapujte každou vztahovou cestu na směrovaný typ okraje.

Relační prvek Mapování grafů Example
Vztah cizího klíče Typ hrany purchases
Odkazování na tabulku Zdrojová tabulka Edge adventureworks_orders
Sloupce spojení nadřazenosti a podřízenosti Mapování původu a cíle CustomerID_FK –>CustomerID_K

Zvolte označení hran jako slovesné fráze, které se jasně čtou v dotazech, například jako purchases, contains a belongsTo.

Požadavky na mapování okrajů najdete v tématu Volba typů okrajů. Postup uživatelského rozhraní najdete v kurzu: Přidání hraničních typů do grafu.

Krok 4: Aplikace běžných vzorů pro překlad z relace do grafu

Tyto vzory použijte během převodu a pak postupujte podle propojených průvodců pro podrobnou implementaci. Úplné popisy vzorů najdete v tématu Běžné vzory tabulek na grafy.

Krok 5: Sestavení a ověření grafu modelu

Po dokončení mapování sestavte a ověřte grafový model v editoru:

  1. Přidejte typy uzlů a nakonfigurujte ID z klíčových sloupců.

  2. Přidejte typy hran a namapujte sloupce zdroje a cíle.

  3. Vyberte Uložit pro ověření modelu a načtení dat.

  4. Ověřte, že se na plátně zobrazí očekávané popisky typu uzlu a typu hrany.

  5. Spuštěním ověřovacích dotazů ověřte relace a kardinalitu. Například:

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

    Aktualizujte popisky tak, aby odpovídaly vašemu schématu. Ověřte, že každý typ okraje vrací výsledky a že počty vypadají správně.

Pokud chybí očekávané hrany, ověřte ve zdrojových tabulkách hodnoty spojovaných sloupců a datové typy.

Řešení běžných potíží s převodem

  • Nevytvořily se žádné hrany: Ověřte, že sloupce mapování zdroje a cíle odpovídají hodnotám klíčů uzlů a datovým typům.
  • Duplicitní uzly: Potvrďte, že klíčové sloupce uzlu jsou jedinečné, nebo přepněte na složený klíč.
  • Přemodelovaný graf: Ponechejte popisná pole jako vlastnosti, pokud je nepotřebujete procházet jako entity.
  • Nedostatečně modelovaný graf: Extrahujte sdílené sloupce do typů uzlů, pokud potřebujete analýzu založenou na relacích.