Páginas filhas
  • Criando um relacionamento entre tabelas de Metadados

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Aviso
É importante frisar que a FK só é criada na criação da tabela após a primeira geração do projeto. Desse modo, não é possível fazer a alteração de um FK em uma tabela já existente.
Informações
titleValidação do Relacionamento

A partir da versão 12.1.2306 será realizada uma validação das chaves ao salvar o relacionamento.
Somente será possível criar relacionamentos desde que todas as chaves da tabela Pai estejam também informadas no relacionamento.



Regra Update / Regra Delete 

...

Especificação

Update na tabela Pai

Delete na tabela Pai

NO ACTION

Nenhuma ação será executada.

Nenhuma ação será executada.

CASCADE

Valores associados na tabela filha também serão atualizado.

Registros associados em tabela filha também serão excluídos.

SET NULL

Valores associados na tabela filha serão definidos como NULL.

Valores associados na tabela filha serão definidos como NULL.

SET DEFAULT

Valores associados na tabela filha serão definidos para o valor padrão especificado na definição da coluna; o valor padrão deverá estar presente na coluna de chave primária. 

Valores associados na tabela filha serão definidos para o valor padrão especificado na definição da coluna; o valor padrão deverá estar presente na coluna de chave primária. 

No módulo de Metadados existem 2 opções onde informamos os relacionamentos entre tabelas:

  • Na tela "Relacionamento": Por essa tela o relacionamento é feito diretamente no banco de dados.
  • Na tela de "Modelo de Negócio": Por essa tela o relacionamento é feito pelo DataSet tipado, ou seja, somente quando o registro é manipulado pela aplicação.

Quando o relacionamento é feito na tela de "Relacionamento" é executado um Script SQL diretamente no banco de dados para criar a relação/chave estrangeira.
Quando o relacionamento é feito na tela de "Modelo de Negócio" o relacionamento é feito somente via aplicação no momento de Excluir um registro.
Ou seja, não é feito nada em banco de dados, é tudo feito no DataSet tipado que o Metadados cria ao Gerar o Projeto.
Com isso tem-se o seguinte:
Quando se define a regra CASCADE, seja na tela "Relacionamento" ou "Modelo de Negócio" essa regra sempre será utilizada ao Excluir um registro.
Para utilizar a regra de NO ACTION é necessário estar configurado para NO ACTION na tela de "Modelo de Negócio", desde que na tela "Relacionamento" não esteja configurado para CASCADE.
OBSERVAÇÃO: Na tela de "Modelo de Negócio" quando não for definida uma regra de Exclusão (Delete) o padrão é sempre CASCADE.


Configurando o Modelo de Negócio

...