Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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:
- 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í.
- Rozhodněte se, které entity se stanou typy uzlů v grafu a který sloupec jednoznačně identifikuje jednotlivé entity.
- Rozhodněte se, která připojení tabulek se stanou hraničními typy a jakým směrem se dostanou (například
CustomernákupyOrder). - 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.
- 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,OrderIDneboProductSKU. - Sloupce cizího klíče, které definují relace mezi tabulkami, například
CustomerIDvOrderstabulce odkazujícíCustomersna tabulku. - Sloupce, které mohou zahrnovat vložené entity, jako například
CountryneboDepartment.
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.
- Jeden k mnoha (1:N): Podřízená tabulka odkazuje na nadřazený klíč (například Objednávky, které odkazují na zákazníky). Viz kurz: Přidání hraničních typů do grafu.
- M:N: Spojovací tabulka propojuje dvě entity (například tabulka SalesOrderDetail propojující produkty a objednávky). Viz kurz: Přidání hraničních typů do grafu.
-
Vložená entita: Hodnota sloupce by se měla stát typem procházitelného uzlu (například převod
Countryna typ uzluCountry). Viz Kurz: Přidání více typů uzlů a okrajů z jedné zdrojové tabulky - Hierarchie: Řetězce na úrovni rodič-dítě přesahují více úrovní (například struktura hlášení zaměstnanců). Viz kurz: Přidání hraničních typů do grafu.
Krok 5: Sestavení a ověření grafu modelu
Po dokončení mapování sestavte a ověřte grafový model v editoru:
Přidejte typy uzlů a nakonfigurujte ID z klíčových sloupců.
Přidejte typy hran a namapujte sloupce zdroje a cíle.
Vyberte Uložit pro ověření modelu a načtení dat.
Ověřte, že se na plátně zobrazí očekávané popisky typu uzlu a typu hrany.
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 DESCAktualizujte 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.