Partilhar via


Usar relacionamentos complexos com o Microsoft Dataverse

O Microsoft Dataverse é uma plataforma de dados corporativos no Power Platform que permite que as organizações criem aplicativos corporativos. Esses aplicativos podem envolver o rastreamento de informações sobre processos de negócios que incluem relações complexas entre dados. O Dataverse oferece suporte a relacionamentos de dados comuns usando os tipos de relacionamento um-para-muitos, muitos para um e muitos para muitos. Você também pode implementar relacionamentos muitos-para-muitos mais avançados quando precisar monitorizar dados associados à relação. Essa flexibilidade é benéfica para aplicativos como um aplicativo de gerenciamento de eventos, onde o rastreamento de detalhes de participação requer mais do que simples associações.

Gorjeta

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

Diagrama da arquitetura

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

Workflow

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

  • Contato: A tabela Contato rastreia as pessoas que a equipe de vendas convida para eventos.
  • Evento: a tabela Evento rastreia informações do evento, como nome, data e local de cada evento.
  • Participante do evento: a tabela do participante do evento rastreia quem participa de cada evento e seus dados de presença. Esta tabela tem uma relação muitos-para-muitos entre Contacto e Evento. É criado com uma relação muitos para um com a tabela Contacto e uma relação 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 de RSVP, status de presença e se eles pagaram uma taxa.

Caso de uso

O principal objetivo do aplicativo de gerenciamento de eventos é rastrear a participação em eventos e informações relacionadas. Os requisitos são:

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

Relação muitos para muitos incorporada

À medida que a equipa responsável pela criação da aplicação avaliava as opções para modelação de dados, considerou o suporte integrado do Dataverse para relações muitos para muitos. 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 ligações entre o Contacto e uma ou mais linhas de Evento. Esta tabela interna não é modificável – colunas adicionais para controlar dados sobre a relação entre as duas tabelas não podem ser adicionadas. Embora essa abordagem satisfaça parte dos requisitos do aplicativo, ela não acomoda a necessidade de rastrear informações sobre cada evento em que o contato participa, como o status de RSVP.

Relação manual de muitos para muitos

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

Embora este padrão forneça mais flexibilidade do que o relacionamento muitos-para-muitos embutido, use-o apenas quando precisar armazenar dados extras sobre o relacionamento.

Quando usar cada abordagem

Abordagem integrada de muitos para muitos: Melhor se tiver apenas que saber quais contactos estão vinculados a quais eventos, sem necessidade de informações adicionais. Automatiza a gestão da interseção entre as tabelas e linhas. Oferece uma experiência mais suave para vincular vários registros ao mesmo tempo, especialmente em aplicativos orientados por modelo, que são otimizados para a abordagem integrada.

Manual muitos para muitos: Use quando precisar de armazenar dados extra sobre cada relação. Mais fácil adicionar campos personalizados através da tabela de intersecção. Fornece controle total sobre a segurança e permite automatizar quando e quem pode estabelecer o relacionamento. Requer mais etapas para fornecer informações adicionais para cada linha (particularmente percetível ao associar várias linhas ao mesmo tempo).

No nosso cenário, o padrão manual pode envolver a apresentação ao utilizador de um formulário de nova linha e a necessidade de, no mínimo, garantir que as duas linhas associadas são fornecidas. Nas aplicações de tela do Power Apps, os criadores podem simplificar essa complexidade fornecendo uma experiência de utilizador que simplifica a associação. Observe também que, ao criar uma relação manual, 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 automatizem a remoção da linha da tabela personalizada que rastreia a relação. Se não configurar corretamente as opções em cascata para eliminar a linha personalizada da tabela de interseção, corre o risco de deixar linhas órfãs.

Ao escolher entre a melhor opção para seu modelo de dados, lembre-se de que não há suporte interno para conversão entre as duas abordagens. Depois de escolher uma abordagem, você não pode alternar entre elas sem migrar seus dados. Avalie cuidadosamente quaisquer necessidades de relações muitos para muitos para determinar se a abordagem de tabela personalizada é necessária. Considere também se você precisará de dados extras não apenas agora, mas no futuro. O padrão manual muitos para muitos, apesar da sua complexidade, proporciona 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 quaisquer relacionamentos muitos-para-muitos que criem.

Dataverse: Dataverse lida com as necessidades de dados do aplicativo. O Dataverse fornece tipos de relação de muitos para um, de um-para-muitos, e de muitos para muitos para modelar conexões de dados de negócios reais.

Considerações

Estas 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. Mais informações em Microsoft Power Platform Well-Architected.

Reliability

Projete cargas de trabalho para se alinhar aos objetivos de negócios e evitar complexidade ou sobrecarga desnecessárias: o uso do padrão manual muitos-para-muitos para todos os relacionamentos desse tipo adiciona complexidade desnecessária à criação, manutenção e experiência do usuário de aplicativos. Certifique-se de avaliar cada relacionamento para garantir que a abordagem escolhida seja a mais adequada às suas necessidades.

Segurança

Design para proteger a confidencialidade e a integridade: as relações entre os dados podem ser confidenciais e afetar diretamente as operações de negócios. Por padrão, o modelo de segurança 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 uma relação manual muitos para muitos que tenha uma tabela de interseção personalizada, obtém controlos adicionais que podem ser usados para gerir quem pode fazer o quê com esses dados de relação.

Excelência Operacional

Automatize todas as tarefas que não se beneficiam da perceção e adaptabilidade da intervenção humana: use a automação em cascata nos relacionamentos para limpar automaticamente as linhas personalizadas da tabela de interseção 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 otimizarem cenários de interação comuns de maneira consistente em todo o aplicativo. Para aplicativos orientados por modelo 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 (Power Apps component framework), você pode fornecer uma experiência de interação simplificada semelhante à de um aplicativo de tela do Power Apps.