Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
Questa funzionalità è attualmente disponibile in anteprima pubblica. Questa anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.
La conversione di dati relazionali in un modello a grafo in Microsoft Fabric consente di eseguire query direttamente sulle connessioni anziché scrivere join ripetuti. Questo articolo fornisce un flusso di lavoro di conversione pratico per il mapping di tabelle relazionali a tipi di nodo e tipi di arco, quindi convalidare il modello prima di ridimensionarlo.
Se si sta ancora valutando se il grafo è adatto per il carico di lavoro, prima di tutto, esaminare Confrontare i database del grafo e relazionali.
Usare questo articolo come elenco di controllo per la conversione. Per le regole di modellazione dettagliate, vedere Progettare uno schema a grafo.
Prerequisiti
- Un'area di lavoro Fabric con l'autorizzazione per creare elementi.
- Una lakehouse che contiene tabelle relazionali di origine.
- Graph abilitato per il tenant e disponibile nella tua regione.
- Familiarità con l'editor di modelli a grafo. Se non si ha familiarità con il grafico, iniziare con Esercitazione: Introduzione al grafico.
Flusso di lavoro di conversione
Usare questa sequenza quando si converte dati relazionali:
- Esaminare le tabelle di origine e identificare le entità nei dati (clienti, prodotti, ordini), come ogni riga viene identificata in modo univoco e come le tabelle si connettono tra loro.
- Decidere quali entità diventano tipi di nodo nel grafico e quale colonna identifica in modo univoco ognuno di essi.
- Decidere quali connessioni di tabella diventano tipi di arco e in quale direzione vanno (ad esempio,
CustomeracquistiOrder). - Applicare il modello di mapping corretto in base alla struttura della tabella, ovvero uno-a-molti, molti-a-molti, valori incorporati o catene di tabelle correlate.
- Compilare il modello nell'editor dei modelli a grafo e verificare che i tipi di nodo e i tipi di arco vengano visualizzati come previsto.
Passaggio 1: Profilatura delle tabelle relazionali di origine
Verificare gli elementi seguenti nelle tabelle di origine:
- Entità primarie che rappresentano elementi distinti, ad esempio clienti, prodotti o ordini.
- Colonne chiave che identificano in modo univoco ogni riga di entità, ad esempio
CustomerID,OrderIDoProductSKU. - Colonne chiave esterna che definiscono relazioni tra tabelle, ad esempio
CustomerIDnellaOrderstabella che fa riferimento allaCustomerstabella. - Colonne che potrebbero essere entità incorporate, ad esempio
CountryoDepartment.
Per criteri decisionali dettagliati su entità, chiavi, proprietà e vincoli di mapping, vedere Progettare uno schema del grafo.
Passaggio 2: Eseguire il mapping delle entità ai tipi di nodo
Mappare ogni entità a un tipo di nodo.
| Elemento relazionale | Mappatura del grafo | Example |
|---|---|---|
| Tabella delle entità | Tipo di nodo |
Customers table ->Customer tipo di nodo |
| Chiave primaria | Chiave del nodo (ID) | CustomerID_K |
| Colonne descrittive | Proprietà del nodo |
FirstName, LastName, EmailAddress |
Usare una colonna chiave con valori stabili e univoci. Se una colonna non è univoca, configurare una chiave composta.
Per indicazioni sulla progettazione, vedere Progettare uno schema a grafo.
Passaggio 3: Eseguire il mapping delle relazioni ai tipi di arco
Mappare ogni percorso di relazione a un tipo di arco diretto.
| Elemento relazionale | Mappatura del grafo | Example |
|---|---|---|
| Relazione di chiave esterna | Tipo di arco | purchases |
| Tabella di riferimento | Tabella di associazione dei margini | adventureworks_orders |
| Colonne di join padre/figlio | Mappature sorgente e destinazione |
CustomerID_FK ->CustomerID_K |
Scegliere le etichette di arco come frasi verbali che si leggano chiaramente nelle query, ad esempio purchases, contains, e belongsTo.
Per i requisiti di mappatura dei bordi, vedere Scegliere i tipi di bordo. Per i passaggi dell'interfaccia utente, vedere Esercitazione: Aggiungere tipi di arco al grafico.
Passaggio 4: Applicare modelli relazionali a grafo comuni
Usare questi modelli durante la conversione, quindi seguire le guide collegate per un'implementazione dettagliata. Per le descrizioni complete dei criteri, vedere Modelli tabulari a grafo comuni.
- Uno-a-molti: una tabella figlio fa riferimento a una chiave padre( ad esempio Ordini che fanno riferimento a Clienti). Vedere Esercitazione: Aggiungere tipi di arco al grafico.
- Molti-a-molti: una tabella di giunzione collega due entità, ad esempio la tabella SalesOrderDetail che collega Prodotti e Ordini. Vedere Esercitazione: Aggiungere tipi di arco al grafico.
-
Entità incorporata: un valore di colonna deve diventare un tipo di nodo attraversabile (ad esempio, promuovendo
Countrya un nodo di tipoCountry). Vedere Esercitazione: Aggiungere più nodi e tipi di arco da una tabella di mapping. - Gerarchia: le catene padre-figlio si estendono su più livelli, ad esempio una struttura di report dei dipendenti. Vedere Esercitazione: Aggiungere tipi di arco al grafico.
Passaggio 5: Compilare e convalidare il modello a grafo
Dopo aver completato i mapping, compilare e convalidare il modello a grafo nell'editor:
Aggiungi tipi di nodo e configura gli ID dalle colonne chiave.
Aggiungi tipi di arco e mappa le colonne di origine e destinazione.
Selezionare Salva per verificare il modello e caricare i dati.
Verificare che nell'area di disegno vengano visualizzati i tipi di nodo e di arco previsti nelle etichette.
Eseguire query di convalida per confermare le relazioni e la cardinalità. Per esempio:
MATCH (c:Customer)-[:purchases]->(o:Order) RETURN c.CustomerID_K, COUNT(o) AS orderCount ORDER BY orderCount DESCAggiornare le etichette in modo che corrispondano allo schema. Verificare che ogni tipo di arco restituisca i risultati e che i conteggi siano corretti.
Se mancano i bordi previsti, verificare i valori delle colonne join e i tipi di dati nelle tabelle di mapping.
Risolvere i problemi di conversione comuni
- Nessun bordo creato: verificare che le colonne di mapping di origine e di destinazione corrispondano ai valori chiave del nodo e ai tipi di dati.
- Nodi duplicati: verificare che le colonne chiave del nodo siano univoche o passare a una chiave composta.
- Grafico sovramodelle: mantenere i campi descrittivi come proprietà, a meno che non sia necessario attraversarli come entità.
- Grafico sottomodellato: estrarre colonne condivise nei tipi di nodi quando l'analisi basata sulle relazioni è necessaria.