Relacionamentos de tabela
Ao trabalhar com o Microsoft Dataverse, você precisa tentar manter as informações sobre diferentes conjuntos de dados em tabelas separadas. Isso é conhecido como normalização de dados. Os relacionamentos de tabela definem as diferentes maneiras pelas quais as linhas da tabela podem ser associadas a linhas de outras tabelas.
Aprendemos anteriormente neste módulo que uma tabela de Banco de dados tem uma chave primária para fazer referência exclusiva às linhas da tabela. No Dataverse, um relacionamento entre duas tabelas procura ou faz referência à chave primária.
Tipos de relacionamentos
Os relacionamentos de tabela definem como as linhas da tabela podem ser associadas a linhas de outras tabelas ou da mesma tabela. Há apenas dois tipos de relacionamentos de tabela:
Relacionamentos um para muitos: em um relacionamento de tabela um-para-muitos (1:N), muitas linhas de tabela de referência (relacionadas) podem ser associadas a uma única linha de tabela referenciada (primária). A linha da tabela referenciada às vezes é chamada de "pai" e as linhas da tabela de referência são chamadas de "filhos". Um relacionamento muitos para um é apenas a perspectiva infantil de um relacionamento um para muitos
Relacionamentos muitos para muitos: em um relacionamento de tabela muitos para muitos (N:N), muitas linhas da tabela podem ser associadas a muitas outras linhas da tabela. Linhas relacionadas usando um relacionamento muitos para muitos podem ser consideradas pares e o relacionamento é recíproco.
Muitos para um vs. Um para muitos
O relacionamento muitos para um (N:1) não é fundamentalmente diferente do relacionamento um para muitos; é apenas um ponto de vista diferente. O tipo de relacionamento muitos para um existe na interface do usuário porque o designer permite exibir e criar relacionamentos de qualquer uma das tabelas envolvidas em um relacionamento. Se você tiver um relacionamento um para muitos entre a Tabela A e a Tabela B, poderá ver um relacionamento um para muitos na Tabela A no Power Apps maker portal e um relacionamento muitos para um na Tabela B. Um relacionamento muitos para um é apenas um relacionamento um para muitos exibido na tabela relacionada. Não é um tipo diferente de relacionamento, é apenas uma perspectiva diferente.
Colunas de pesquisa
Uma maneira fácil de criar um relacionamento de tabela é criar uma coluna com tipo de dados Pesquisa para outra tabela. A criação de uma coluna de pesquisa cria um relacionamento de muitos para um.
Não há diferença de funcionalidade para um relacionamento, seja ele criado usando um para muitos, muitos para um ou uma coluna de pesquisa.
Criar relacionamentos de tabela manualmente
Quando você cria uma nova tabela, como aprendemos anteriormente neste módulo de aprendizado, você tem muitas opções e alguns cliques do mouse para fazer o Dataverse trabalhar para você. Na tela Tabelas, há um link para Relacionamentos no painel Esquema.
A seleção desse link leva você a uma tabela que exibe todos os relacionamentos de sua tabela. Alguns são projetados pelo sistema e outros são criados por você. Você pode ver a quais tabelas sua tabela atual está relacionada e que tipo de relacionamento elas têm com essas outras tabelas.
Além disso, observe na parte superior da barra de comandos que você pode criar um Novo relacionamento. Isso permite a flexibilidade de criar manualmente um relacionamento entre suas tabelas.
Você tem a capacidade de decidir que tipo de relacionamento deseja criar. No exemplo abaixo, estamos criando um relacionamento um para muitos para uma tabela chamada Veterinário. Embora cada animal de estimação possa consultar qualquer médico, queremos que cada animal de estimação consulte um médico regular. Observe como criar um relacionamento assim cria uma coluna de Pesquisa na tabela relacionada.
Após criar esse relacionamento, você pode ir para a tabela associada e descobrir a coluna de pesquisa criada.
Relacionamento muitos para muitos
Antes de prosseguirmos, vamos discutir brevemente o conceito de criação de relacionamentos muitos para muitos entre tabelas no Dataverse.
Lembre-se de que os relacionamentos um para muitos têm uma hierarquia entre as linhas no relacionamento de tabela. As linhas relacionadas por meio de relacionamentos de tabela Muitos para muitos são consideradas pares.
Observação
Relacionamentos muitos para muitos não têm suporte por bancos de dados relacionais, e o Dataverse cria uma tabela Interseção oculta para vincular as linhas da tabela. Essa tabela de Interseção não tem um formulário, e você não pode editar suas propriedades nem adicionar colunas à tabela.
Você pode criar manualmente um relacionamento muitos para muitos escolhendo as tabelas relacionadas. Por exemplo, se você tiver uma tabela de tratadores de animais de estimação e uma tabela de animais de estimação, cada animal de estimação poderá ter vários tratadores e cada tratador poderá ter vários clientes de estimação. Infelizmente, não há nenhuma tabela no Dataverse que mostre isso, apenas um relacionamento. Em um formulário, você pode inserir uma subgrade que tenha os itens da tabela relacionada exibidos nela e, com filtragem, mostrar os itens da tabela relacionada correspondente a seu item. No entanto, isso está fora do escopo desta unidade.
Para obter mais informações, consulte a Visão geral de criação de relacionamentos de tabela muitos para muitos.