O "Gestor de chaves primárias" é um assistente destinado a facilitar a solução de erros relacionados com a presença de tabelas sem chaves primárias, em particular no contexto de uma base com histórico:
![](../../picture/1282443/pict1282443.EN.png)
Pode utilizar este assistente para:
- diagnosticar a compatibilidade de cada tabela da base com o mecanismo de histórico,
- propor uma correção para cada tabela que se encontre que não seja compatível em particular mediante a criação de uma chave primária.
Nota: O gestor de chaves primárias também se oferece como um recipiente da versão 13 que pode utilizar para preparar bases de dados 4D v13 para a conversão a v14.
Há duas formas de mostrar a janela do Gestor de chaves primárias:
- desde o Janela de erro de chaves primária: faça clique no botão Utilizar assistente para mostrar a janela de assistente.
Nota: O assistente se mostra no modo Desenho. Se a base se inicia em Modo Aplicação, o assistente não aparece imediatamente e deverá passar a modo Desenho.
- desde o Editor de estrutura: faça clique no botão
na barra de ferramentas desta janela mostra o assistente.
A janela Gestor de chaves primárias mostra uma linha para cada tabela na base.
![](../../picture/1282471/pict1282471.EN.png)
Nota: O assistente não leva em conta as tabelas na Caixa.
O ícone no cabeçalho de cada linha indica se a tabela requer a atenção do usuário:
![](../../picture/1282479/pict1282479.fr.png) | Aceitar | Uma chave primária válida se define para a tabela. |
![](../../picture/1282489/pict1282489.fr.png) | Sem chave primária, campo(s) escolhido(s) | A tabela não tem uma chave primária, mas contém pelo menos um campo que poderia ser convertido em chave primária. |
![](../../picture/1282491/pict1282491.fr.png) | Sem chave primária, sem campo(s) escolhido(s) | A tabela não tem uma chave primária, mas contém pelo menos um campo que poderia ser convertido em chave primária (será necessário criar um campo chave primária). |
![](../../picture/1282493/pict1282493.fr.png) | Atenção | A tabela não tem uma chave primária e não se registra no histórico (opção "Incluir em arquivo de histórico" desativada para a tabela). |
É possível ocultar as tabelas que tem determinado intervalo desmarcando a opção Mostrar advertências. |
Para cada tabela registrada no histórico que não tenha uma chave primária, o assistente mostra um menu para configurar a ação a realizar. Pode escolher das seguintes opções:
![](../../picture/1282497/pict1282497.EN.png)
- Ignorar: não modifica a tabela. Os erros não se corrigem e o estado da tabela não muda. Utilize esta opção se deseja intervir posteriormente ou se quiser criar a chave primária fora do assistente.
Esta opção é necessária particularmente, quando você quer criar uma chave primária baseada em vários campos na tabela.
- Utilizar campo existente (só é mostrado para as tabelas com pelo menos um campo escolhido para ser uma chave primária): designa um dos campos da tabela como chave primária. Quando se escolhe esta opção, o assistente sugere o campo mais adequado de forma pré determinada.
Se deseja utilizar outro campo ou se o assistente não pode identificar um campo adequado (o assistente mostra " Selecione um campo"), faça clique no segundo menu para ver a lista de campos escolhidos.
- Criar um novo campo: cria um novo campo chave primária na tabela. Este campo terá os mesmos atributos como o adicionado por padrão ao momento da criação de uma nova tabela (ver Default primary key field).
Por padrão, o assistente propõe a criação de um campo de tipo Inteiro longo, chamado "ID". Pode modificar o nome e o tipo de padrão dos campos chave primária utilizando Página Estrutura nas Preferências da aplicação 4D. Pode acessar a página de Preferências fazendo clique no botão
na janela do Gestor de chaves primárias.
Também pode mudar o nome e/ou o tipo de campo diretamente na janela do Gestor de chaves primárias.
- Não registrar esta tabela: desmarca a opção "Incluir no arquivo de histórico" para a tabela. Pode escolher esta opção no caso das tabelas temporais (ver Incluir no arquivo de histórico ). Depois de validar esta caixa de diálogo, se atribui um estado “Advertência” a tabela.
Uma vez realizada a configuração, faça clique em Aplicar... para aplicar as mudanças a base de dados ou Fechar para fechar o quadro de diálogo sem modificar a base.
Ao fazer clique em Aplicar... , aparece um diálogo de confirmação que lista as operações a realizar, e você pode Aplicar ou Cancelar a operação:
![](../../picture/1285024/pict1285024.EN.png)
Foi designado os campos existentes como chaves primárias, 4D verifica cada tabela para ter certeza de que seus dados existentes respeitam as normas relativas a unicidade e os valores nulos para este tipo de campo. Se, por exemplo, um campo contém valores duplicados ou valores nulos, é gerado um erro:
![](../../picture/1285026/pict1285026.EN.png)
Terá que encontrar e eliminar estas anomalias antes de que possa habilitar o histórico de dados.
Nota: para facilitar a correção de erros relacionados com as chaves principais, os valores de chave principal se mostram no Análise de atividade do Centro de Manutenção e Segurança.