Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kakaroto1309

Quais as melhores práticas para criação de chave primária?

Recommended Posts

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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".

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É 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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.