Melhor pratica para criação de chave primaria
Chave primaria: Atributo ou conjunto de atributo que tem a propriedade de identificar de forma unívoca ocorrência da entidade.
Ao escolher uma chave primaria, devemos nós atentar a algumas regras, uma destas regras é o principio da minimalidade. Principio que determina que a chave primaria da entidade deve ser composta por um conjunto mínimo de atributos necessários para identificação unívoca de uma instância da entidade.
A chave primaria de uma entidade pode ser natural ou
artificial. Uma chave natural é formada por um ou mais atributos que fazem
parte do negocio modelado. Por outro lado, a chave artificial é composta por um
atributo que não representa nenhuma propriedade do negocio, geralmente é um
numero seqüencial criado unicamente para manter a unicidade e identificar a
instância de uma entidade. A boa pratica da modelagem determina que ao definir uma chave
primaria devemos dar prioridade aos atributos naturais, assim evitando que
esses possam vir a se repetir e também possibilitando caracterizar a entidade
de forma negocial. EX:
1 – Chave primaria com atributo artificial
Verifique
que na figura 1 usando um atributo artificial na chave primaria podemos vir a
repetir varias vezes o mesmo RG para pessoas diferentes, assim correndo o risco
de registro duplicado.
2 – Chave primaria natural
Verifique que na figura 2 usando o atributo natural iremos manter a integridade do registro, impedindo que um RG tenha mais de uma pessoa vinculada ao seu numero. OBS: Lembrando que isso trata-se de um exemplo e que dependendo do negocio modelado o RG não sera a melhor opção de chave primaria já que ainda podem existir pessoas sem RG, e o principal, o RG não é um atributo de domínio do seu modelo, é um atributo externo, podendo ser alterado a qualquer momento seu formato pelo governo e com isso seu banco de dados devera ser alterado também, retirando assim a estabilidade do seu modelo.
Seguindo-se o princípio da minimalidade, o recurso de chave primária artificial é usado, também, quando o conjunto de atributos naturais se mostra excessivamente grande e a entidade em questão relaciona-se com outras varias.
Referência Bibliográfica
Carlos Alberto Heuser; Projeto de Banco de Dados