Compartilhar via


Usar relações complexas com o Microsoft Dataverse

O Microsoft Dataverse é uma plataforma de dados empresarial no Power Platform que permite que as organizações criem aplicativos empresariais. Esses aplicativos podem envolver o acompanhamento de informações sobre processos de negócios que incluem relações complexas entre dados. O Dataverse dá suporte a relacionamentos de dados comuns usando os tipos de relacionamento internos um para muitos, muitos para um e muitos para muitos. Você também pode implementar relacionamentos muitos para muitos mais avançados quando precisar acompanhar os dados associados ao relacionamento. Essa flexibilidade é benéfica para aplicativos como um aplicativo de gerenciamento de eventos, em que o acompanhamento de detalhes de presença requer mais do que associações simples.

Dica

Este artigo fornece um cenário de exemplo e uma representação visual de como modelar relações de dados complexas no Microsoft Dataverse. Essa solução é uma arquitetura de cenário de exemplo generalizada, que pode ser usada para muitos cenários e setores diferentes.

Diagrama de arquitetura

Diagrama de arquitetura mostrando como as tabelas Evento, Contato e Participante do Evento se conectam para acompanhar quem participa de eventos e dados relacionados sobre cada participante.

Workflow

Um aplicativo de canvas do Power Apps usa o Dataverse para gerenciar dados de gerenciamento de eventos. O aplicativo permite que o usuário acompanhe quem participou do evento (ou eventos) hospedado pela equipe de vendas da organização.

  • Contato: A tabela Contato acompanha as pessoas que a equipe de vendas convida para eventos.
  • Evento: a tabela Evento rastreia informações de evento como o nome, a data e a localização de cada evento.
  • Participante do evento: A tabela Participante do Evento acompanha quem participa de cada evento e seus dados de presença. Esta tabela tem uma relação de muitos para muitos entre Contato e Evento. É criado com um relacionamento muitos para um com a tabela Contato e um relacionamento muitos para um com a tabela Evento. Essa configuração permite que essa tabela muitos para muitos inclua dados sobre os participantes de um evento, como seu status RSVP, status de presença e se eles pagaram uma taxa.

Caso de uso

A principal finalidade do aplicativo de gerenciamento de eventos é acompanhar a presença de eventos e informações relacionadas. Os requisitos são:

  • O aplicativo precisa registrar quem participou de cada evento e detalhes sobre sua presença.
  • Uma pessoa pode participar de vários eventos.

Relacionamento muitos para muitos interno

À medida que a equipe que estava desenvolvendo o aplicativo avaliava opções para modelagem de dados, eles consideraram o suporte interno do relacionamento muitos para muitos do Dataverse. Essa abordagem permite que um contato participe de vários eventos. Nos bastidores, o Dataverse cria uma tabela de interseção interna que rastreia as conexões entre o Contato e uma ou mais linhas de Evento. Essa tabela interna não é modificável– colunas adicionais para acompanhar dados sobre a relação entre as duas tabelas não podem ser adicionadas. Embora essa abordagem atenda a parte dos requisitos do aplicativo, ela não acomoda a necessidade de acompanhar informações sobre cada evento que o contato atende, como o status RSVP.

Relacionamento muitos para muitos manual

Para rastrear informações adicionais sobre cada evento que um contato participa, considere o padrão de relação "muitos para muitos manual". Esse padrão envolve a criação de uma tabela personalizada para representar a tabela de interseção e, em seguida, estabelecer dois relacionamentos muitos para um com as duas tabelas que definem o relacionamento. Com essa abordagem, você cria uma tabela personalizada, Participante do Evento, para representar a interseção entre o Contato e o Evento. A tabela Participante do Evento inclui relacionamentos muitos para um com as tabelas Contato e Evento, permitindo o armazenamento de outros campos, como status RSVP, status de presença e informações de pagamento.

Embora esse padrão forneça mais flexibilidade do que a relação muitos-para-muitos embutida, use-o somente quando precisar armazenar dados extras sobre a relação.

Quando usar cada abordagem

Abordagem integrada de muitos para muitos: melhor se você só precisar saber quais contatos estão vinculados a quais eventos, nenhuma informação adicional é necessária. Automatiza o gerenciamento da interseção entre tabelas e linhas. Oferece uma experiência mais fluida para vincular vários registros de uma só vez, especialmente em aplicativos baseados em modelos, que são otimizados para a abordagem incorporada.

Muitos para muitos manual: use quando precisar armazenar dados extras sobre cada relacionamento. Mais fácil adicionar campos personalizados por meio da tabela de interseção. Fornece controle total sobre a segurança e permite automatizar quando e quem pode estabelecer a relação. Requer mais etapas para fornecer informações adicionais para cada linha (particularmente perceptível ao associar várias linhas de cada vez).

Com nosso cenário, o padrão manual pode envolver o usuário sendo apresentado com um novo formulário de linha e ter que, no mínimo, garantir que as duas linhas associadas sejam fornecidas. Em aplicativos de tela do Power Apps, os criadores podem simplificar essa complexidade fornecendo uma experiência de usuário que otimiza a associação. Observe também que, ao criar uma relação manual, você deve configurar as opções em cascata nas relações muitos para um para garantir que, se uma das linhas relacionadas for removida, as opções em cascata automatizam a remoção da linha de tabela personalizada que acompanha a relação. Se você não configurar corretamente as opções em cascata para excluir a linha de tabela de interseção personalizada, corre o risco de deixar linhas órfãs.

Ao escolher entre a melhor opção para seu modelo de dados, tenha em mente que não há suporte interno para conversão entre as duas abordagens. Depois de escolher uma abordagem, você não poderá alternar entre elas sem migrar seus dados. Avalie cuidadosamente se há necessidade de um relacionamento muitos para muitos, a fim de determinar se a abordagem de tabela personalizada é necessária. Considere também se você precisará de dados extras não só agora, mas no futuro. O padrão manual muitos-para-muitos, apesar de sua complexidade, fornece mais flexibilidade.

Components

O Power Apps é usado para implementar a experiência do usuário da solução. Os criadores criam o aplicativo para gerenciar os dados no Dataverse. Os criadores devem implementar a experiência do usuário para todos os relacionamentos muitos para muitos que criam.

Dataverse: o Dataverse lida com as necessidades de dados do aplicativo. O Dataverse fornece tipos de relacionamento muitos para um, um para muitos e muitos para muitos, a fim de modelar conexões de dados corporativos do mundo real.

Considerações

Essas considerações implementam os pilares do Power Platform Well-Architected, um conjunto de princípios orientadores que melhoram a qualidade de uma carga de trabalho. Saiba mais em Microsoft Power Platform Well-Architected.

Reliability

Desenhe cargas de trabalho que se alinhem aos objetivos de negócios e evitem a complexidade ou sobrecarga desnecessárias: Usar o padrão manual muitas para muitas para todas as relações desse tipo adiciona complexidade desnecessária à criação e manutenção de aplicações, e à experiência do usuário. Avalie cada relação para garantir que a abordagem escolhida seja a melhor adequada, considerando seus requisitos.

Segurança

Design para proteger a confidencialidade e a integridade: as relações entre dados podem ser confidenciais e afetar diretamente as operações de negócios. Por padrão, o modelo de segurança do Dataverse fornece suporte para segurança granular sobre como os dados estão relacionados e quais operações um usuário pode executar nas linhas de dados. Ao criar um relacionamento muitos para muitos manual que tenha uma tabela de interseção personalizada, você obtém controles adicionais que podem ser usados para gerenciar quem pode fazer o que com esses dados de relacionamento.

Excelência operacional

Automatize todas as tarefas que não se beneficiam do insight e da adaptabilidade da intervenção humana: use a automação em cascata nas relações para limpar automaticamente as linhas de tabela de interseção personalizadas quando uma das linhas relacionadas for removida.

Otimização da Experiência

Design para simplicidade e eficiência: a escolha do tipo de relação muitos-para-muitos afeta a forma como o usuário estabelece as relações entre as linhas de dados no aplicativo. Ao usar o padrão manual, estabeleça uma maneira consistente para os usuários relacionarem dados e otimizar cenários de interação comuns de maneira consistente em todo o aplicativo. Para aplicativos baseados em modelos do Power Apps, considere fornecer uma experiência de usuário mais personalizada ao usar o padrão manual. Por exemplo, usando uma página de tela personalizada do Power Apps ou um controle PCF (estrutura de componentes Power Apps), você pode proporcionar uma experiência de interação simplificada, similar à de um aplicativo de tela no Power Apps.