© Yurich/Shutterstock.com
Ao usar bancos de dados relacionais com sistemas como o MySQL, as chaves são uma parte essencial de suas operações. De um modo geral, as chaves são usadas para identificar linhas em um banco de dados e para expressar relacionamentos entre valores de dados. Existem muitos tipos de chaves usadas nesses bancos de dados, mas as mais comuns e essenciais são as chaves primárias e candidatas. Descubra o que esses termos significam e como são usados neste artigo.
Chave candidata vs. Chave Primária: Comparação Lado a Lado
Neste banco de dados, Customer_id é a chave primária da tabela Customer.
©Joe Techapanupreeda/Shutterstock.com
Candidato vs. Chave primária: qual é a diferença?
As principais diferenças foram resumidas na tabela acima, mas vamos dar uma olhada mais de perto.
Significado
Em termos simples , uma chave candidata é um campo, ou combinação de campos, que pode ser usado para identificar exclusivamente cada registro na tabela. Dessa forma, você pode ter várias chaves candidatas em potencial em uma tabela. Por exemplo, vamos considerar uma tabela com as colunas “ID”, “Nome”, “Idade”, “Data de Nascimento”, “Peso”, “Altura” e “Endereço”. Nesse caso, poderíamos identificar exclusivamente cada registro com o campo”ID”ou potencialmente com os campos”Nome”e”Data de nascimento”, pois provavelmente serão exclusivos.
Por outro lado, há só pode ser uma chave primária por tabela. Isso ocorre porque é uma chave específica escolhida entre as chaves candidatas para representar a tabela. Continuando com o exemplo anterior, podemos ver que “ID” é uma boa escolha para uma chave primária, já que ela será única para cada pessoa na tabela, enquanto todos os outros campos podem potencialmente conter valores duplicados.
Status NULL
Esta é outra área onde as chaves diferem. As chaves candidatas podem potencialmente conter valores nulos, mas apenas se satisfizerem os critérios para uma chave candidata – os critérios de exclusividade e minimalidade. Isso significa que, para que o campo seja uma chave candidata em potencial, ele deve ser capaz de identificar exclusivamente a tabela por meio de atributos mínimos. Por mínimo, queremos dizer que, se removêssemos um atributo da chave, ele perderia sua unicidade. Como tal, contém o número mínimo de atributos para ser um identificador único. Se olharmos para o exemplo anterior, podemos tomar os campos “Nome” e “Data de Nascimento” como chave candidata, e também o campo “ID”. Isso ocorre porque, mesmo que outros atributos sejam removidos, eles ainda podem ser usados para identificar exclusivamente a tabela. Como tal, esses campos podem conter valores nulos em teoria.
As chaves primárias, no entanto, não podem conter valores nulos. Isso ocorre porque, se o campo contivesse valores nulos, eles não seriam valores exclusivos. Portanto, a chave primária não seria bem-sucedida na identificação exclusiva da tabela.
Singularidade
Ambos os tipos de chaves são exclusivos, mas existem algumas diferenças em sua exclusividade. Pode haver várias chaves candidatas em potencial, desde que cada uma possa ser usada para identificar exclusivamente uma tabela, portanto, dessa forma, as chaves candidatas não são estritamente únicas, pois podem haver mais de uma.
Em por outro lado, só pode haver uma chave primária identificada por tabela, seja uma coluna ou uma combinação. Portanto, a chave primária também é única e será usada sozinha para cada tabela.
Uso
Ambos os tipos de chaves podem potencialmente ser usados para identificar exclusivamente uma tabela, mas seu uso não variar. As chaves candidatas podem ser usadas para outros fins de banco de dados. Isso inclui:
Indexação, a fim de acelerar as operações de recuperação e pesquisa. Imposição de restrições, como a restrição exclusiva. Isso significa que duas linhas na tabela não podem ter o mesmo valor para as colunas identificadas com essa chave. Otimização de consultas, para que consultas complexas possam ser feitas de forma mais eficiente. Modelagem de dados, como identificar atributos-chave e otimizar o desempenho do banco de dados.
As chaves primárias têm alguns usos comuns, como indexação, modelagem de dados e imposição de exclusividade, mas também podem ser usadas para integridade referencial. Simplificando, isso significa que a chave primária pode ser usada em outras tabelas como algo chamado chave estrangeira. Esta é uma chave em outra tabela que faz referência à chave primária, garantindo que os valores nesta coluna correspondam aos valores na coluna da chave primária. Dessa forma, as chaves primárias podem ser usadas para manter a consistência do banco de dados.
O layout correto, com chaves primárias, é muito importante no planejamento do banco de dados.
©Wichy/Shutterstock.com
Chave candidata vs. Chave primária: Conclusão
Para concluir, as chaves candidatas são chaves primárias em potencial usadas para fins de indexação, otimização de consulta, modelagem de dados e imposição de restrições. As chaves primárias são usadas de forma semelhante, mas também para integridade referencial e manutenção da exclusividade de uma tabela. Embora você possa ter várias chaves candidatas por tabela, só pode ter uma chave primária. Você também pode ter valores nulos em campos de chave candidata, mas não em campos de chave primária.
Chave candidata vs. Chave primária: quando você deve usar cada uma? FAQs (Perguntas Frequentes)
O que é uma chave candidata?
Uma chave candidata é uma ou mais colunas em uma tabela que podem identificar exclusivamente a tabela linhas. Elas são chaves primárias em potencial e podem haver uma ou mais por tabela.
Para que são usadas as chaves candidatas?
Elas são usadas para identificar linhas, bem como para indexação, otimização de consulta, modelagem de dados e imposição de restrições.
O que é uma chave primária?
Uma chave primária é uma ou mais colunas em uma tabela que identifica exclusivamente as linhas e é escolhida entre as chaves candidatas. Você só pode ter uma por tabela.
Para que servem as chaves primárias?
Elas são usadas para identificar exclusivamente uma tabela e reforçar a integridade referencial entre tabelas, bem como para os mesmos propósitos das chaves candidatas.
O que é uma chave estrangeira?
Uma chave estrangeira é uma ou mais colunas em um tabela separada que faz referência à chave primária da primeira tabela. Isso ajuda a reforçar a integridade referencial e estabelecer um relacionamento entre as tabelas. Quando os valores da chave primária são atualizados, essas alterações são refletidas na chave estrangeira.