Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A gráfséma a gráf szerkezetét meghatározó csomóponttípusok, éltípusok és tulajdonságaik gyűjteménye. A jól megtervezett gráfséma megkönnyíti az adatok lekérdezését, karbantartását és kiterjesztését. Ez a cikk legjobb gyakorlatokat mutat be a táblázatos adatok adatjárólakban való hatékony címkézett tulajdonosi gráffá alakításához a Microsoft Fabric-ben.
Mielőtt elkezdené a modellezést a gráfmodell-szerkesztőben, használja ezeket az irányelveket. A csomópontok és élek létrehozásával kapcsolatos részletes útmutatásért tekintse meg a gráf oktatóanyagát. A cikkben szereplő példák az Adventure Works mintaadatkészletet használják.
Fontos
A Graph jelenleg nem támogatja a sémafejlődést. Miután létrehozott egy gráfmodellt, és betöltötte az adatokat, a szerkezeti változások , például csomóponttípusok, éltípusok és tulajdonságok hozzáadása vagy eltávolítása után a frissített struktúra lekérdezése előtt újra be kell töltenie az összes adatot. Az adatok újratöltéséhez válassza a Mentés lehetőséget a felső menüszalagon. Ez az adatbetöltési folyamat időt vesz igénybe, és kapacitást használ fel, ezért a modellezés megkezdése előtt alaposan tervezze meg a sémát.
Előfeltételek
- Egy Fabric munkaterület a forrástáblákat tartalmazó tóházzal.
- A gráfmodell-szerkesztő ismerete.
- Nem kötelező: Az Adventure Works mintaadatkészlet a cikkben szereplő példák követéséhez.
Csomóponttípusok és éltípusok ismertetése
Séma tervezése előtt ismerje meg az alábbi alapvető fogalmakat:
A csomóponttípusok egyfajta entitást határoznak meg a gráfban, például ügyfelet, terméket vagy megrendelést. A következőkből áll:
-
Csomópontcímke, amely a csomópont ezen kategóriáját azonosítja. Például:
Customer. A lekérdezésekben a címke használatával hivatkozhat ilyen típusú csomópontokra. - Egy forrástábla, amely a csomóponttípus forrásadatait biztosító lakehouse-tábla. Például az adventureworks_customers tábla.
- Egy kulcsoszlop , amely egyedileg azonosítja az egyes csomópontokat. Például:
CustomerID_K. -
Tulajdonságok, amelyek a tábla azon oszlopai, amelyeket attribútumként adhat hozzá az egyes csomópontokhoz. Például
FirstName,LastNameésEmailAddress.
A csomópont egy csomóponttípus egyedi példánya – a forrástábla egyik sora. A adventureworks_customers minden sora például csomóponttá válik Customer .
Az éltípus két csomóponttípus közötti kapcsolat típusát határozza meg. A következőkből áll:
- Egy peremcímke, amely a kapcsolat ezen kategóriáját azonosítja. Például:
purchases. - Forrástábla, amely a forrás és a célcsomópontok közötti kapcsolati adatokat tartalmazza. Például az adventureworks_orders tábla.
- A forráscsomópont típusa és a célcsomópont típusa, amelyet az él csatlakoztat. Például forrásként
CustomerésOrdercélként.
Az él egy éltípus egyedi példánya – a forrástábla egyik sora, amely két adott csomópontot köt össze.
Megjegyzés:
A gráfmodell-szerkesztőben a Csomópont hozzáadása és az Él hozzáadása gomb csomóponttípusokat és éltípusokat hoz létre, nem pedig egyedi csomópontokat vagy éleket.
Entitások és kapcsolatok azonosítása
Kezdje az adatokban található entitások (dolgok) és kapcsolatok (kapcsolatok) azonosításával. Az entitások csomóponttípusokká válnak. Az entitások közötti kapcsolatok éltípusokká válnak.
Tegye fel a következő kérdéseket a forrástáblákról:
- Mik az elsődleges entitások? A különböző valós dolgokat ábrázoló sorok csomóponttípusok jelöltjei. Például ügyfelek, termékek, megrendelések és alkalmazottak.
- Hogyan kapcsolódnak ezek az entitások egymáshoz? A másik táblázat sorait (idegen kulcsokat) hivatkozó oszlopok éltípusokat javasolnak. Például
CustomerID_FKegyorderstáblázat acustomerstáblázatra mutat, ami egypurchasesél modellezését javasolja. - Vannak beágyazott entitások? A táblákon belüli oszlopok egy különálló entitást jelölhetnek, amely a saját csomóponttípusába bontható ki. Példa: Csomóponttípusok kiválasztása. Részletes útmutató: Több csomópont- és éltípus hozzáadása egy forrástáblából.
Csomóponttípusok kiválasztása
Hozzon létre egy csomóponttípust minden olyan entitáshoz, amelyet egymástól függetlenül kell lekérdeznie vagy áthaladnia. Kövesse az alábbi irányelveket:
| Az entitás csomóponttípussá alakítása... | Tartsa meg, mint tulajdonságot, ha... |
|---|---|
| El kell jutnia hozzá, vagy át kell haladnia rajta. | Ez egy leíró metaadat, amit csak olvas, nem pedig átjárás. |
| Több entitás is osztozik vele. | Ez egyedi az entitásra, amelyhez tartozik. |
| A lekérdezésekben közvetlenül az alapján kell egyeznie vagy csoportosítania. | Más entitás tulajdonságaként lehet csak szűrni. |
Példa: Az Adventure Works adatkészletben Country oszlopként kezdődik a employees táblán. Ha meg szeretné tudni, hogy "mely alkalmazottak élnek ugyanabban az országban?" vagy "melyik országban van a legtöbb alkalmazott?", válassza szét Country egy saját csomóponttípussá. Ha csak egy alkalmazott országát kell címkeként megjelenítenie, hagyja meg tulajdonságként.
Kulcsoszlopok kiválasztása
Minden csomóponttípushoz szükség van egy kulcsoszlopra (vagy összetett kulcsra), amely egyedileg azonosítja az egyes csomópontokat. Gondosan válassza ki a kulcsokat:
-
Használjon meglévő egyedi azonosítókat a forrástáblákból . Például,
CustomerID_KvagyProductID_K. -
Kerülje a helyettesítő kulcsokat, amelyek nem rendelkeznek üzleti jelentéssel, kivéve, ha nem létezik természetes kulcs. Például előnyben részesítse
CustomerIDaz auto-növekvő sorszámmal szemben. -
Összetett kulcsokat akkor használjon , ha egyetlen oszlop nem garantálja az egyediséget. Például egy
ProductVersioncsomópontnak mindProductID, mindVersionNumberlehet szükséges kulcsként. - A kulcsoszlopok és az élleképezésekben használt idegen kulcsoszlopok adattípusainak egyeztetése. A nem egyező típusok az éllétrehozás hibáit okozzák.
Jótanács
Csomópontkulcs-megkötések definiálása, amelyek lehetővé teszik a lekérdezési motor számára a kulcstulajdonságok közvetlen keresését. Ez az optimalizálás felgyorsítja az adott csomópontokat kulcs szerint kereső lekérdezéseket.
Csomóponttulajdonságok hozzáadása
Csomóponttípus létrehozásakor válassza ki, hogy a forrástábla mely tulajdonságokat vegye fel a csomóponttípus tulajdonságai közé, különösen azokat a tulajdonságokat, amelyekre a OneLake Security hozzáférési szabályait alkalmazták az alapul szolgáló forrástáblára.
Tulajdonságok hozzáadása a csomópont létrehozása során a + Tulajdonság hozzáadása gombbal. Másik lehetőségként adjon hozzá tulajdonságokat egy meglévő csomóponthoz úgy, hogy duplán kattint a csomóponttípusra a gráfmodell-szerkesztőben a csomópontszerkesztési párbeszédpanel megnyitásához és a Definíció szerkesztése parancs kiválasztásához. Válassza a Tulajdonság hozzáadása lehetőséget, majd válasszon oszlopokat a forrástáblából.
Előfordulhat, hogy nem szeretné a tábla minden oszlopát tulajdonságként hozzáadni. A túlzott tulajdonságok növelik a tárolást, lassúak a lekérdezések, és megnehezítik a gráf karbantartását. Ezért ne adjon hozzá olyan tulajdonságokat, amelyekre nincs szüksége a lekérdezésekhez vagy elemzésekhez.
Minden csomóponttípusnál csak a következő tulajdonságokat tartsa meg:
- A csomópont egyediségéhez szükséges (kulcsoszlopok)
- Lekérdezéseknél szűrőkben
WHEREvagy vetítésekbenRETURNvan használva. - Alsóbb rétegbeli elemzéshez vagy vizualizációhoz szükséges
Ha többet szeretne megtudni arról, hogy a tulajdonságszám hogyan befolyásolja a lekérdezés teljesítményét, olvassa el a Csak a szükséges tulajdonságok visszaadása című témakört.
Adattípusok kiválasztása
Válassza ki az egyes tulajdonságok legspecifikusabb adattípusát. A megfelelő típusok javítják a tárolási hatékonyságot és a lekérdezési teljesítményt:
-
INTvagyUINT64használata numerikus azonosítók és számok esetén. A numerikus összehasonlítások gyorsabbak, mint a karakterlánc-összehasonlítások. - Sztring formátumú dátumok helyett időbélyegekhez használható
ZONED DATETIME. - Igaz/hamis jelölőkhöz használható
BOOLEANsztringértékek helyett, például"yes"vagy"no".
A támogatott típusok teljes listáját az Aktuális korlátozások – Adattípusok című témakörben találja.
Éltípusok kiválasztása
Az éltípusok határozzák meg a csomóponttípusok közötti kapcsolatokat. Minden éltípus egy forrástáblán keresztül csatlakoztat egy forráscsomóponttípust egy célcsomóponttípushoz.
Kövesse az alábbi irányelveket:
-
Használjon leíró címkéket , amelyek igékként vagy igekifejezésekként olvashatók. Például,
purchases,sells,livesInésbelongsTo. A jól elnevezett élek megkönnyítik a lekérdezések olvasását. - Körültekintően mérlegelje az irányt. A gráf szélei irányítva vannak. Válassza ki a valós kapcsolatot legjobban képviselő irányt. Például a
Customer--vásárlások-->Ordertermészetesebb módon olvashatók, mint aOrder--vásárló által-->Customer. - Adjon különböző neveket a különböző csomóponttípus-párokat összekötő éltípusoknak. Ha az "alkalmazott megrendelést értékesít" és az "ügyfél megrendelést vásárol" is csatlakozik
Order, nevezze el őketsellséspurchasesahelyett, hogy mindkettőnek ugyanazt a címkét adná. További információ: peremhálózat-létrehozási korlátozások.
Tulajdonságok hozzáadása éltípusokhoz
A csomópontokhoz hasonlóan az éltípusok is tulajdonságok nélkül kezdődnek. Tetszés szerint akkor adhat hozzá tulajdonságokat, ha az adatok a végpontok helyett magát a kapcsolatot írják le. A peremhálózati tulajdonságok akkor hasznosak, ha olyan GQL-lekérdezéseket ír, amelyeknek a kapcsolatra vonatkozó adatokat kell szűrni, összesíteni vagy visszaadni.
Tulajdonság hozzáadásához kattintson duplán egy éltípusra a gráfmodell-szerkesztőben az élszerkesztés párbeszédpanel megnyitásához, és válassza a Definíció szerkesztése lehetőséget. Válassza a Tulajdonság hozzáadása lehetőséget, majd válasszon oszlopokat a forrástáblából.
Mikor kell éltulajdonságokat hozzáadni: Ha egy oszlop a két csomópont közötti kapcsolatról árulja el, hogy „mennyi?”, „mikor?” vagy „milyen módon?”, akkor az az élhez tartozik, nem pedig valamelyik csomóponthoz.
Példa: Az Adventure Works-adatkészletben a contains él a Order-t a Product-hoz a adventureworks_orders táblán keresztül kapcsolja. Az olyan oszlopok, mint a OrderQty, UnitPrice és LineTotal, a kapcsolatot írják le: egy adott rendelésben egy termékből hány darab volt, és milyen áron. Az olyan oszlopok, mint a OrderDate vagy a ShipDate, magát a sorrendet írják le, és a Order csomóponttípushoz tartoznak, nem pedig az élre.
Fontos
A peremhálózat forrástáblájának olyan oszlopokat kell tartalmaznia, amelyek megfelelnek az értékekben és adattípusokban a forrás- és célcsomópont-típusok kulcsoszlopainak. A csomóponttípusok létrehozásához használt táblák peremhálózati forrástáblákként is szolgálhatnak, ha megfelelnek ennek a követelménynek.
Gyakori táblázatos-gráfos minták
Az alábbi táblázat összefoglalja, hogy egyes gyakori táblázatos adatstruktúrák hogyan fordíthatók le gráfelemekre:
| Tabuláris struktúra | Gráf eredménye | Example |
|---|---|---|
| Egy-a-többhöz: Szülőtábla + gyermektábla idegen kulccsal | Két csomóponttípus csatlakozik egy éltípushoz. |
Customer
--
vásárlások->Order |
| Több-a-többhöz: Két táblát összekötő kereszttábla | Éltípus két csomóponttípus között. |
Vendor
--
előállít-->Product |
| Beágyazott entitás: Megosztott entitást jelképező oszlop | Kinyert csomóponttípus élekkel. |
Employee
--
livesIn->Country |
| Hierarchia: Szülő-gyermek táblák lánca | Az egyes szintek szélei által összekapcsolt csomóponttípusok. |
Product
--
isOfType-->Subcategory --belongsTo->Category |
A beágyazott entitásminta részletes bemutatása: Több csomópont- és éltípus hozzáadása egy forrástáblából.
A gráfséma módosítása
A Graph nem támogatja a sémafejlődést. A gráfmodell mentése után a csomóponttípusok, éltípusok és tulajdonságaik struktúrája javítva lesz. Ha szerkezeti módosításokat szeretne végezni (például tulajdonság csomóponttípushoz való hozzáadásához, éltípus eltávolításához vagy kulcsoszlop módosításához), létre kell hoznia egy új gráfmodellt, és újra kell betöltenie az adatokat.
A gráfséma módosítása:
- A munkaterületen hozzon létre egy új gráfelemet, amely ugyanahhoz a tóházhoz csatlakozik.
- A gráfmodell-szerkesztőben adja hozzá a szükséges csomóponttípusokat és éltípusokat, beleértve az új vagy módosított tulajdonságokat is.
- Kulcsoszlopok és élleképezések konfigurálása. Győződjön meg arról, hogy az adattípusok egyeznek a kulcsoszlopok és az idegen kulcsoszlopok között.
- Válassza a Mentés lehetőséget az adatok betöltéséhez és az új gráf létrehozásához.
- Frissítse a lekérdezési készleteket úgy, hogy az új gráfra mutassanak.
- Miután ellenőrizte, hogy az új gráf a várt módon működik-e, törölje az eredeti gráfelemet, ha nincs rá szüksége.