Configurar uma relação de tabela virtual

As tabelas virtuais estão ativadas para relações. Pode configurar relações 1:N, N:1 e relações multitabela personalizadas (polimórficas). Podem ser estabelecidas relações entre:

  • Tabelas locais no Dataverse e tabelas virtuais.
  • Tabelas virtuais e outras tabelas virtuais do mesmo fornecedor, por exemplo, SQL->SQL.

Por exemplo, não pode configurar uma relação entre uma tabela virtual criada utilizando o fornecedor de tabelas virtuais OData e uma tabela virtual criada utilizando o fornecedor de conectores virtuais.

Nota

Não é possível criar uma relação onde a tabela virtual esteja do lado 1 de uma relação 1:N (um-para-muitos). Isto deve-se ao facto de as tabelas virtuais serem representações de metadados da tabela de origem. Quando cria uma relação, são acrescentadas colunas de suporte adicionais ao lado 1 da relação. O Dataverse não tem capacidade para criar novas colunas nos sistemas de origem.

Definir entidades em tabelas virtuais

As tabelas virtuais criadas utilizando o fornecedor de conectores virtuais criam automaticamente todas as colunas que são representadas na tabela de origem externa. Isto também incluirá as colunas nas quais as relações estão definidas. No entanto, a definição de relação não será criada automaticamente. Tens de definir esta relação manualmente no Dataverse.

O exemplo que se segue cria uma relação N:1 entre uma tabela virtual (Pedido de Serviço) e uma tabela nativa (Conta). A coluna utilizada para configurar a relação é AccountId. Esta coluna é a chave primária na tabela de conta e é uma chave externa na tabela de pedidos de serviço.

Uma representação da tabela virtual de Pedidos de Serviço é apresentada aqui. Repare que a coluna AccountId, que é a coluna utilizada para a relação na origem externa, é do tipo Várias Linha de Texto. Tem de ter esta coluna representada como um tipo Pesquisa para criar uma relação.

Criar colunas na tabela virtual

  1. Aceda a Definições avançadas > Definições > Personalização e escolha Personalizar o Sistema.

  2. No painel de navegação esquerdo, expanda a vista Entidades e navegue para a definição de tabela virtual Pedido de Serviço.

  3. Selecione a vista Campos, selecione a coluna AccountId e, e, seguida, selecione Eliminar.

  4. Escolha Eliminar para confirmar a eliminação desta coluna.

  5. Para criar a relação, selecione a Relação N:1 na tabela Pedido de Serviço.

  6. Selecione Nova Relação Muitos para Um.

  7. Introduza os seguintes detalhes para criar a relação entre a tabela virtual do Pedido de Serviço e a tabela Conta.

    1. Na secção Definição de Relação, defina o valor de coluna Entidade Primária como Conta.
    2. Opcionalmente, se pretende editar o nome da relação, pode fazê-lo na coluna Nome.
    3. Na secção Campo de Pesquisa, defina o Nome a Apresentar como Conta.
    4. A coluna Nome é preenchida automaticamente com o nome de coluna de procura.
    5. Defina o valor Nome Externo como AccountId (que faz a correspondência com o nome de coluna na sua tabela de origem).
  8. Selecione Guardar e, em seguida, feche a relação.

    Criar relação

  9. Consulte as colunas da tabela virtual Pedido de Serviço e verá que a coluna AccountId é do tipo Pesquisa. Esta coluna pode agora ser adicionada aos formulários e vistas para ver todas as contas associadas para cada registo de pedido de serviço.

    Colunas de tabela personalizadas

  10. Com a relação estabelecida, pode agora criar um novo pedido de serviço e escolher contas às quais associá-los.

    Nova tabela personalizada

Nota

Terá de editar os formulários e as vistas desta tabela para incluir a coluna de pesquisa e outras colunas necessárias antes de efetuar operações na tabela virtual.

Sugestão

  • A coluna Chave Primária deve ser incluída no formulário de criação se não tiver configurado a coluna para incrementar automaticamente durante a conceção da tabela de origem subjacente. Terá de introduzir um valor válido na coluna de chave primária para uma operação de inserção ter êxito.

Próximos passos

Criar tabelas virtuais utilizando o fornecedor de conectores virtuais (pré-visualização)