Relacionamentos de tabela

Concluído

Ao trabalhar com o Microsoft Dataverse, organize as informações armazenando diferentes conjuntos de dados em tabelas separadas para dar suporte à normalização de dados. Os relacionamentos de tabela definem como 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 faz referência à chave primária usando uma coluna de pesquisa.

Tipos de relacionamentos

Os relacionamentos de tabela definem como as linhas da tabela são associadas a linhas de outras tabelas, ou até mesmo da mesma tabela. Há dois tipos de relacionamento 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 referenciada geralmente é chamada de pai, enquanto as linhas na tabela de referência são secundárias. Um relacionamento muitos para um é a mesma estrutura exibida na tabela secundária.

  • Relacionamentos muitos para muitos: em um relacionamento muitos para muitos (N:N), muitas linhas da tabela podem ser associadas a muitas outras linhas. Essas linhas são 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 de um-para-muitos. Ele representa o mesmo relacionamento exibido na tabela oposta. Por exemplo, se a Tabela A tiver um relacionamento um-para-muitos com a Tabela B, você verá:

  • um relacionamento um-para-muitos listado na Tabela A do Power Apps Maker Portal.
  • um relacionamento muitos para um listado na Tabela B.

Isso é uma questão de perspectiva de interface, não um tipo de relacionamento separado.

Colunas de pesquisa

Um meio comum de criar um relacionamento de tabela é adicionando uma coluna com o tipo de dados Pesquisa. Isso cria automaticamente um relacionamento muitos para um.

Se o relacionamento for definido como um-para-muitos, muitos para um, ou por meio de uma coluna de pesquisa, a estrutura subjacente será a mesma.

Criar relacionamentos de tabela manualmente

Quando você cria uma tabela, conforme abordado anteriormente neste módulo, o Dataverse fornece várias maneiras de configurar relacionamentos de tabela. Na tela Tabelas, o painel Esquema inclui um link de Relacionamentos.

A seleção desse link abre uma exibição que mostra todos os relacionamentos da tabela. Alguns são definidos pelo sistema; outros são criados pelo usuário. Você pode revisar quais tabelas estão relacionadas e os tipos de relacionamento.

Na parte superior dessa exibição, você pode selecionar Novo relacionamento, na barra de comandos, para definir manualmente um novo relacionamento.

Ao criar um relacionamento, você escolhe o tipo. No exemplo abaixo, um relacionamento um-para-muitos é criado com uma tabela chamada Veterinarian. Embora um animal de estimação possa ser tratado por qualquer veterinário, esse relacionamento define um médico regular para cada animal de estimação. Criar esse relacionamento também adiciona uma coluna Lookup na tabela relacionada.

Depois que o relacionamento é criado, uma coluna de pesquisa correspondente aparece na tabela associada.

Relacionamento muitos para muitos

Os relacionamentos muitos para muitos permitem que as linhas de dados atuem como pares, sem hierarquia pai-filho.

Observação

Os relacionamentos muitos para muitos não são suportados diretamente por bancos de dados relacionais. O Dataverse usa uma tabela de interseção oculta para gerenciar esses relacionamentos. Essa tabela de interseção não pode ser editada pelo usuário e não dá suporte a formulários ou colunas personalizados.

Para criar manualmente um relacionamento muitos para muitos, escolha as duas tabelas relacionadas. Por exemplo, se você tiver uma tabela de Pet Groomers e uma tabela de Pets, cada animal de estimação poderá ter vários tratadores, e cada tratador poderá ter vários animais de estimação.

Embora esse relacionamento seja definida no Dataverse, não há nenhuma tabela de interseção visível. No entanto, você pode exibir registros relacionados em um formulário usando uma subgrade. Com a filtragem, você pode mostrar itens relacionados dinamicamente, embora isso esteja 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.