Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Converter dados relacionais em um modelo de grafo em Microsoft Fabric ajuda você a consultar conexões diretamente em vez de gravar junções repetidas. Este artigo fornece um fluxo de trabalho de conversão prática para mapear tabelas relacionais para tipos de nó e tipos de borda e validar o modelo antes de dimensioná-lo.
Se você ainda estiver decidindo se o grafo é adequado para sua carga de trabalho, primeiro examine Comparar grafo e bancos de dados relacionais.
Use este artigo como sua lista de verificação de conversão. Para obter regras de modelagem detalhadas, consulte Criar um esquema de grafo.
Pré-requisitos
- Um workspace Fabric com permissão para criar itens.
- Uma lakehouse que contém tabelas relacionais de origem.
- Gráfico disponível na sua região.
- Familiaridade com o editor de modelos de grafo. Se você for novo no grafo, comece com o Tutorial: Introdução ao grafo.
Fluxo de trabalho de conversão
Use esta sequência ao converter dados relacionais:
- Examine as tabelas de origem e identifique as entidades em seus dados (clientes, produtos, pedidos), como cada linha é identificada exclusivamente e como as tabelas se conectam entre si.
- Decida quais entidades se tornam tipos de nó em seu grafo e qual coluna identifica exclusivamente cada uma delas.
- Decida quais conexões de tabela se tornam tipos de borda e qual direção elas vão (por exemplo,
CustomercomprasOrder). - Aplique o padrão de mapeamento correto com base na estrutura da tabela – um para muitos, muitos para muitos, valores incorporados ou cadeias de tabelas inter-relacionadas.
- Crie o modelo no editor de modelos de grafo e confirme se os tipos de nó e os tipos de borda aparecem conforme o esperado.
Etapa 1: Tabelas relacionais de origem do perfil
Confirme os seguintes itens em suas tabelas de origem:
- Entidades primárias que representam coisas distintas, como clientes, produtos ou pedidos.
- Colunas de chave que identificam exclusivamente cada linha de entidade, como
CustomerID,OrderIDouProductSKU. - Colunas de chave estrangeira que definem relações entre tabelas, como
CustomerIDnaOrderstabela que faz referência àCustomerstabela. - Colunas que podem ser entidades inseridas, como
CountryouDepartment.
Para obter critérios de decisão detalhados sobre entidades, chaves, propriedades e restrições de mapeamento, consulte Criar um esquema de grafo.
Etapa 2: Mapear entidades em tipos de nó
Mapeie cada entidade para um tipo de nó.
| Elemento relacional | Mapeamento de grafo | Example |
|---|---|---|
| Tabela de Entidades | Tipo de nó |
Customers tabela –>Customer tipo de nó |
| Chave primária | Chave de nó (ID) | CustomerID_K |
| Colunas descritivas | Propriedades de nó |
FirstName
LastName, EmailAddress |
Use uma coluna de chave com valores estáveis e exclusivos. Se uma coluna não for exclusiva, configure uma chave composta.
Para obter diretrizes de design, consulte Criar um esquema de grafo.
Etapa 3: Mapear relações com tipos de borda
Mapeie cada caminho de relação para um tipo de aresta direcionada.
| Elemento relacional | Mapeamento de grafo | Example |
|---|---|---|
| Relação de chave estrangeira | Tipo de aresta | purchases |
| Tabela de referência | Tabela de origem de edge | adventureworks_orders |
| Colunas de junção pai/filho | Mapeamentos de origem e destino |
CustomerID_FK ->CustomerID_K |
Escolha rótulos de borda como frases de verbo que possam ser facilmente lidas em consultas, como purchases, contains e belongsTo.
Para obter requisitos de mapeamento de borda, consulte Escolher tipos de borda. Para obter as etapas da interface do usuário, consulte Tutorial: Adicionar tipos de borda ao grafo.
Etapa 4: Aplicar padrões relacionais comuns ao grafo
Use esses padrões durante a conversão e siga os guias vinculados para implementação detalhada. Para descrições completas de padrões, consulte padrões comuns de tabela para grafo.
- Um para muitos: uma tabela filha referencia uma chave pai (por exemplo, Pedidos que fazem referência a Clientes). Confira o Tutorial: Adicionar tipos de borda ao grafo.
- Muitos-para-muitos: uma tabela de junção vincula duas entidades (por exemplo, a tabela SalesOrderDetail que conecta Produtos e Pedidos). Confira o Tutorial: Adicionar tipos de borda ao grafo.
-
Entidade inserida: um valor de coluna deve se tornar um tipo de nó percorrível (por exemplo, promovendo
Countrypara um tipo de nóCountry). Confira o Tutorial: Adicionar vários tipos de nó e borda de uma tabela de origem. - Hierarquia: cadeias pai-filho abrangem vários níveis (por exemplo, uma estrutura de relatórios de funcionários). Confira o Tutorial: Adicionar tipos de borda ao grafo.
Etapa 5: criar e validar o modelo de grafo
Depois de concluir os mapeamentos, crie e valide o modelo de grafo no editor:
Adicione tipos de nó e configure IDs de colunas de chave.
Adicione tipos de aresta e mapeie as colunas de origem e de destino.
Selecione Salvar para verificar o modelo e carregar dados.
Confirme se os rótulos de tipo de borda e tipo de nó esperados aparecem na tela.
Execute consultas de validação para confirmar relações e cardinalidade. Por exemplo:
MATCH (c:Customer)-[:purchases]->(o:Order) RETURN c.CustomerID_K, COUNT(o) AS orderCount ORDER BY orderCount DESCAtualize os rótulos para corresponder ao esquema. Confirme se cada tipo de borda retorna resultados e se as contagens parecem corretas.
Se as bordas esperadas estiverem ausentes, verifique os valores de coluna de junção e os tipos de dados em suas tabelas de origem.
Solucionar problemas comuns de conversão
- Nenhuma borda criada: confirme se as colunas de mapeamento de origem e de destino correspondem aos valores de chave do nó e aos tipos de dados.
- Nós duplicados: verifique se as colunas de chave dos nós são exclusivas ou alterne para uma chave composta.
- Grafo excessivamente modelado: mantenha campos descritivos como propriedades, a menos que você precise percorrê-los como entidades.
- Grafo submodelado: extraia colunas compartilhadas para tipos de nós quando precisar de análise baseada em relacionamentos.