Histórico da Página
...
Informações | ||
---|---|---|
| ||
Caso a relação possua duas ou mais chaves, dê preferência em adicionar a primeira chave e Salvar, então depois adicionar as seguintes. O Nome do Relacionamento tem tamanho máximo de 30 caracteres. |
Relacionamento com duas ou mais chaves
Âncora | ||||
---|---|---|---|---|
|
...
O relacionamento entre tabelas do Metadados espera que seja criado com todas as chaves primárias da tabela Pai.
...
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 | ||
---|---|---|
| ||
A partir da versão 12.1.2306 será realizada uma validação das chaves ao salvar o relacionamento. |
Regra Update / Regra Delete
...
No Relacionamento podemos aplicar operações para atualizar ou excluir o registro da tabela pai, podendo haver diferentes requisitos sobre o efeito nos valores associados em tabelas filho.
Há quatro opções disponíveis:
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
...
Clicando no OK, a estrutura de tabelas do modelo de negócio ficará assim:
Aviso | ||
---|---|---|
| ||
Caso o relacionamento não tenha sido criado antes na etapa anterior e precise ser realizado por aqui, deve ser seguido os mesmos critérios, Relacionamento veja mais informações. |
Configurando a Apresentação do Formulário
...
PESSOA de CPF 2 de nome Laura e DEPENDENTE de CPF 2, por isso a exceção acima foi levantada.
Erros de Relacionamento
E.......