Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho dúvidas sobre isso, qual seria a melhor prática para criaçao da chave primaria?
1ª Opção
Criar um campo ID, na qual ele é auto-incremento e dar a ele a chave primaria.
2ª Opção
Criar um campo ID, na qual ele é auto-incremento, porém, criar um segundo campo com o nome IDTABELA e dar a ele a chave primária?
Alguem recomenda algum livro que trabalha com isso?
Uma Chave Primária é um campo que identifica de forma única um registro na Tabela, não existindo uma solução pode ser criar uma chave artificial que seja sequencial e sirva como pk , existindo use a "chave natural".
Sim mais qual das 2 opções seria melhor... usar um campo auto-incremental como chave primaria ou ter outro campo que seja a chave primaria.
Vai depender de qual identifica melhor
Exemplo
1) Tabela de CEPS
A melhor chave (na minha opinião) é o próprio código do CEP
2) Registro de Protocolo de atendimento
Um número sequencial basta
Ou seja , depende.
É que no caso eu faço seguinte:
Tabela de Clientes = Tem o campo auto-incremental na qual uso como chave primaria.
Tabela de Funcionalidades do Cliente = Eu gravo somente o ID cliente, na qual corresponde ao ID na tabela de clientes.
Só que mudei de base e fodeu tudo... porque era incremental, ou seja, tinha buracos antes que eu havia deletado, agora nao sei a qual se refere...
Uma boa chave para Clientes é o CPF ou CNPJ do mesmo , é único e o identifica.
Como se perdeu a informação ? Os Cilentes forem renumerados e não suas Funcionalidades ?
Não existia uma Foreing Key ?
>
Uma boa chave para Clientes é o CPF ou CNPJ do mesmo , é único e o identifica.
Como se perdeu a informação ? Os Cilentes forem renumerados e não suas Funcionalidades ?
Não existia uma Foreing Key ?
Exato... Por exemplo:
tbClientes
ID 1 - Cliente X
ID 2 - Cliente Y
tbFuncionalidades
ID 1 = Funcionalidade A
ID 2 = Funcionalidade B
tbCliFun
ID 1 = Cliente X com Funcionalidade A
ID 2 = Cliente X com Funcionalidade B
ID 3 = Cliente Y com Funcionalidade A
E sempre coloco as chaves primarias no ID
Uma Chave Primária é um campo que identifica de forma única um registro na Tabela, não existindo uma solução pode ser criar uma chave artificial que seja sequencial e sirva como pk , existindo use a "chave natural".