Os bancos de dados dependem de chaves para armazenar, classificar e comparar ou criar relacionamentos entre registros. Se você já trabalhou com bancos de dados por algum tempo, provavelmente já ouviu falar sobre diferentes tipos de chaves: chaves primárias, chaves candidatas e chaves estrangeiras. Ao criar uma nova tabela de banco de dados, você é solicitado a selecionar uma chave primária que identifique exclusivamente cada registro armazenado nessa tabela.
Por que uma chave primária é importante
A seleção de uma chave primária é uma das decisões mais importantes que você fará no design de um novo banco de dados. A restrição mais importante é que você deve garantir que a chave selecionada seja exclusiva. Se é possível que dois registros - passado, presente ou futuro - possam compartilhar o mesmo valor para um atributo, é uma má escolha para uma chave primária.
Outro aspecto importante de uma chave primária é seu uso por outras tabelas que se vinculam a ela em um banco de dados relacional. Neste aspecto, uma chave primária atua como o alvo de um ponteiro. Devido a essas interdependências, uma chave primária deve existir quando um registro é criado e nunca pode ser alterado.
Escolhas ruins para chaves primárias
O que algumas pessoas podem considerar uma escolha óbvia para uma chave primária pode ser uma má escolha. Aqui estão alguns exemplos:
- CEP não faça boas chaves primárias para uma tabela de cidades. Se você estiver criando uma tabela de pesquisa simples de cidades, o CEP parece ser uma chave primária lógica. No entanto, após investigação adicional, você pode perceber que mais de uma cidade compartilha um código postal. Por exemplo, as cidades de Neptune, Neptune City, Tinton Falls e Wall Town, em Nova Jersey, compartilham o CEP 07753.
- Números da previdência social não faça boas chaves primárias por vários motivos. A maioria das pessoas considera seu SSN privado e não o deseja claramente visível para os usuários do banco de dados. Algumas pessoas não têm SSNs - estrangeiros ou imigrantes que nunca receberam um cartão do Seguro Social. Os SSNs também podem ser reutilizados após a morte de um indivíduo. Um indivíduo pode ter mais de um SSN ao longo da vida, quando a Administração do Seguro Social emite um novo número em casos de fraude ou roubo de identidade.
- Endereço de e-mail também são uma má escolha para uma chave primária. Embora sejam únicos, podem mudar com o tempo. Além disso, nem todo mundo tem um endereço de e-mail.
Escolhendo uma Chave Primária Efetiva
Então, o que faz uma boa chave primária? Na maioria dos casos, consulte o sistema de banco de dados para obter suporte.
Uma prática recomendada no design de banco de dados é usar uma chave primária gerada internamente. Seu sistema de gerenciamento de banco de dados normalmente pode gerar um identificador exclusivo que não tem significado fora do sistema de banco de dados. Por exemplo, você pode usar o tipo de dados AutoNumeração do Microsoft Access para criar um campo chamado RecordID. O tipo de dados AutoNumeração incrementa automaticamente o campo sempre que você cria um registro. Embora o número em si não tenha significado, ele fornece uma maneira confiável de fazer referência a um registro individual em consultas.
Uma boa chave primária geralmente é curta, usa números e evita caracteres especiais ou uma mistura de caracteres maiúsculos e minúsculos para facilitar as pesquisas e comparações rápidas do banco de dados.