Chave primária no banco de dados SQL: o que é, vantagens e como escolher
Publicados: 2021-05-25Índice
O que é uma chave primária?
Projetar um novo banco de dados em SQL vem com seu quinhão de escolhas inimitáveis. Identificar uma chave primária adequada é uma das decisões mais críticas que você terá que tomar. O objetivo subjacente de uma chave primária é simples e direto.
Uma chave primária desempenha um papel fundamental em duas frentes. Primeiro, ajuda a definir um relacionamento. Dois, ajuda a implementar esse relacionamento. Em outras palavras, sem uma chave primária, os bancos de dados de relacionamento não existiriam. Compreensivelmente, a noção de uma chave primária parece incomum.
Mas e se lhe dissermos que você tem usado chaves primárias em sua vida cotidiana sem perceber? A cada momento de vigília do nosso dia, estamos literalmente cercados por chaves primárias em um mundo de banco de dados, e ainda assim as consideramos garantidas. Por exemplo, considere sua carteira de estudante. É um exemplo clássico da necessidade de uma chave primária. Da mesma forma, cada funcionário tem um código de empresa exclusivo e cada país do mundo tem um nome e um código exclusivos.
Leia: Normalização no SQL
Quais são as vantagens de uma chave primária?
Uma chave primária em SQL é definida como um valor singular ou uma combinação de alguns valores de uma tabela. Ele representa distintamente cada registro na tabela. O acesso a este valor garante o acesso tempestivo à colocação de um registro relacionado na tabela, além de outros valores do mesmo registro. Neste ponto, você pode ter uma questão importante a levantar. É obrigatório gerar uma chave primária em cada tabela? Absolutamente não.
SQL não requer a criação de uma chave primária. No entanto, as melhores e mais eficientes práticas de modelagem de banco de dados aconselham fortemente a criação de uma chave primária para cada tabela em SQL. Além de ser um campo de link comum entre tabelas, as vantagens de uma chave primária são múltiplas.
A lista abaixo resume as principais vantagens de uma chave primária:
- Como a chave primária serve como um índice, as operações de banco de dados baseadas em velocidade, como classificação e pesquisa de registros, tornam-se mais rápidas.
- A chave primária ajuda a identificar e localizar rapidamente linhas exclusivas em uma tabela de banco de dados específica.
- No modo de segurança, apenas registros específicos podem ser identificados exclusivamente usando a chave primária para garantir que as atualizações e a exclusão afetem apenas linhas específicas em vez de volumes maiores de dados.
- Quando usadas como chaves estrangeiras em outras tabelas do banco de dados, elas ajudam a manter a integridade referencial.
Como escolher uma chave primária?
As tabelas compreendem os principais objetos em um banco de dados SQL. Essas tabelas armazenam dados como registros ou linhas. Portanto, para identificar cada linha de uma tabela, precisamos encontrar uma coluna na mesma tabela com um valor de entrada diferente para cada linha. Por exemplo, vamos supor que temos uma tabela com dados de cada cidadão americano. Uma coluna com o nome 'social_security_number' ajudaria a distinguir uma linha da outra nessa tabela.
Da mesma forma, vamos considerar outro exemplo. Suponha que temos uma tabela de contas de poupança em um banco privado. A coluna com o nome 'account_number' pode ser usada para identificar exclusivamente linhas específicas nesta tabela.
Em ambos os exemplos, depois de identificar uma coluna com um valor diferente para cada linha na tabela, ou seja, 'social_security_number' e 'account_number', você pode criar sua chave primária. Essa chave primária será seu identificador principal para cada linha da tabela, com base na coluna específica que você identificou.
A marca de um projeto de banco de dados exemplar é, portanto, a chave primária em SQL. Portanto, não é preciso dizer que uma chave primária escolhida deve ser 100% exclusiva e deve existir um valor exclusivo da chave primária para cada linha de dados. Normalmente, os indivíduos demonstram uma tendência a confiar no próprio sistema de gerenciamento de banco de dados para gerar um identificador exclusivo.
As características de uma chave primária forte são as seguintes:
- Uma chave primária forte geralmente é curta, compacta e contém o menor número possível de atributos. Tipos de dados longos e chaves compostas adicionam complexidade ao SQL. Um comprimento de chave primária não deve exceder 900 bytes.
- As chaves primárias que são inteiramente numéricas ajudam a melhorar o desempenho da consulta.
- Evite o uso de caracteres especiais ou uma combinação de letras maiúsculas e minúsculas. Evite usar tipos de dados de texto porque leva muito mais tempo para o SQL comparar valores de string do que valores numéricos.
- Evite informações identificáveis de colunas não chave na mesma linha, como códigos postais, endereços de e-mail e números de segurança social. Se uma chave primária for baseada em dados do mundo real, ela pode ter que ser alterada em algum momento no futuro, o que é uma prática de modelagem desaconselhável. Se as chaves primárias forem identificadores arbitrários, os dados exibidos para o usuário podem ser alterados posteriormente, mas os identificadores não precisam.
- O valor da chave primária deve permanecer estável e não ser modificado.
É imperativo observar que as chaves primárias empregam um mecanismo técnico para garantir que cada linha tenha um valor exclusivo e não vazio na coluna da chave primária. Isso implica que o valor da chave primária de um registro não pode ser nulo. Além disso, suponha que você tente inserir um novo com um valor cuja duplicata possa ser encontrada na coluna de chave primária. Nesse caso, a inserção da nova linha será rejeitada pela chave primária.
Checkout: Ideias e tópicos do projeto SQL
Chaves primárias com mais de uma coluna
Em alguns casos, não existe uma chave primária natural de uma coluna. Quando várias colunas são usadas para definir uma chave primária, ela é conhecida como chave primária composta ou de várias colunas. Por exemplo, vamos supor que temos uma tabela 'reservation' com colunas, 'customer_name', 'reservation_day', 'reservation_time' e 'number_of_people'.
Aqui, 'customer_name' não pode ser usado apenas como chave primária porque, naturalmente, o cliente pode ter mais de uma reserva para dias diferentes ou até mesmo para o mesmo dia. Portanto, adicionamos 'reservation_day' e 'reservation_time' à chave primária para tornar a combinação exclusiva para cada valor.
Essa consideração não deve exceder mais de 32 colunas. Quanto maior o número de colunas, maior será o requisito de espaço de armazenamento. A sintaxe para adicionar uma chave primária de várias colunas é diferente de adicionar uma chave primária de coluna única.
Aprenda cursos de engenharia de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Resumindo
Você já ligou para o atendimento ao cliente e foi solicitado seu número de cliente? Você pode até ter esquecido, que é quando eles pedem seu código postal ou número de telefone.
Você já se perguntou por quê? Bem, a resposta curta é as chaves primárias. A resposta longa é que as vantagens de uma chave primária são o ponto de partida de todos os sistemas de banco de dados. Sem chaves primárias, os bancos de dados não funcionariam como funcionam agora ou, para ser mais preciso, não funcionariam.
Se você está curioso para aprender sobre SQL, desenvolvimento full-stack, confira o Programa PG Executivo do IIIT-B & upGrad em Desenvolvimento de Software Full Stack, criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, mentoria com especialistas do setor, 1-on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.
O que são chaves primárias no SQL?
Chave primária é o campo com valores únicos, que é usado para definir a identidade de uma entidade. Depois que uma chave primária é definida, ela não pode ser excluída ou modificada. Na verdade, a chave primária é uma característica especial da tabela, que se torna a base dos relacionamentos da tabela. A chave primária é sempre definida na primeira coluna de uma tabela, que não pode ser alterada. Ele tem um papel muito importante na estrutura de registro lógico e físico dos dados. Como a chave primária é usada para identificar exclusivamente os registros, eles são chamados de chaves candidatas.
Quais são as características de uma chave primária em SQL?
A chave primária é uma coluna ou um grupo de colunas que identifica exclusivamente cada registro em uma tabela. Uma tabela pode ter apenas uma chave primária. Para manter a integridade, a chave primária é sempre necessária. A chave primária deve ser composta por uma combinação de colunas diferentes umas das outras. Se uma chave primária for composta por apenas uma coluna, ela será conhecida como chave primária simples. O mecanismo de banco de dados usa a chave primária para localizar e atualizar um registro em um banco de dados. A chave primária não pode ser Null porque Null significa não definido ou desconhecido. A chave primária pode ser de coluna única ou de várias colunas. Os valores de chave primária podem ser exclusivos ou não exclusivos. A chave primária tem a capacidade de ser indexada. A chave primária ajuda o mecanismo de banco de dados a manter a integridade da tabela. A chave primária pode ser facilmente identificada no banco de dados.
Como escolher uma chave primária no SQL?
A chave primária é a coluna mais importante em uma tabela. Esses são os IDs usados por seus aplicativos para identificar exclusivamente cada registro. O campo selecionado como chave primária deve ser exclusivo e não nulo. As chaves primárias geralmente são as melhores colunas candidatas para indexação. A chave primária é usada para: Referência única para cada registro na tabela, para pesquisar o id de um registro cujos dados você já possui, para garantir que cada linha tenha um valor válido na chave primária. Para garantir que os dados na tabela permaneçam válidos e consistentes, certifique-se de que todos os valores de chave primária sejam exclusivos e que nenhum valor de chave primária seja nulo.