logo

Diferença entre chave primária e chave única

Chaves no MySQL são a coluna ou conjunto de colunas usadas para construir um relacionamento entre uma ou mais tabelas. Eles também são usados ​​para acessar registros da tabela. Ambas as chaves fornecem uma exclusividade garantida para uma coluna ou conjunto de colunas em uma tabela ou relação. A principal diferença entre eles é que a chave primária identifica cada registro da tabela, e a chave única evita entradas duplicadas em uma coluna, exceto para um valor NULL. . Neste artigo, compararemos as diferenças essenciais entre chaves primárias e exclusivas com base em vários parâmetros. Antes de fazer uma comparação, discutiremos brevemente essas chaves.

stlc
Chave Primária vs Chave Única

O que é chave primária?

A chave primária é uma único ou não nulo chave que identifica exclusivamente cada registro naquela tabela ou relação. A coluna de chave primária não pode armazenar valores duplicados, o que significa que os valores da coluna de chave primária são sempre exclusivos. Também é chamado de superchave mínima ; portanto, não podemos especificar mais de uma chave primária em qualquer relacionamento. Uma coluna de chave primária de uma tabela pode ser referenciada por uma coluna de chave estrangeira de outra tabela.

Por exemplo , temos uma tabela chamada estudantes com atributos como Stud_ID, Roll_No, Name, Mobile e Email.

Chave Primária vs Chave Única

Aqui apenas o Núm. da lista coluna nunca pode conter um valor idêntico e NULL. Sabemos que cada aluno tem um número de rolo único. Portanto, dois alunos nunca podem ter o mesmo número de rolo. Este recurso ajuda a identificar cada registro do banco de dados de forma exclusiva. Portanto, podemos tornar o atributo Roll_No uma chave primária.

Recursos da chave primária

A seguir estão os principais recursos essenciais:

  • A coluna de chave primária não pode conter valores duplicados.
  • A chave primária implementa a integridade da entidade da tabela.
  • Uma tabela não pode ter mais de uma coluna de chave primária.
  • Podemos criar a chave primária a partir de um ou mais campos da tabela.
  • A coluna de chave primária deve ter restrições NOT NULL.

O que é uma chave única?

O Chave única é uma única coluna ou combinação de colunas em uma tabela para identificar exclusivamente os registros do banco de dados. Uma chave única impede de armazenar valores duplicados na coluna. Uma tabela pode conter várias colunas de chave exclusivas, diferentemente de uma coluna de chave primária. Esta chave é semelhante à chave primária, exceto que um valor NULL pode ser armazenado na coluna de chave exclusiva. A chave única também é chamada restrições únicas e pode ser referenciado pela chave estrangeira de outra tabela.

Por exemplo , vamos considerar a mesma tabela chamada estudantes com atributos como Stud_ID, Roll_No, Name, Mobile e Email.

Chave Primária vs Chave Única

Aqui Stud_ID pode ser atribuído como uma restrição exclusiva porque cada aluno deve ter um número de identificação exclusivo. Se um aluno mudar de faculdade, ele não terá nenhuma carteira de estudante. Nesse caso, a entrada pode conter uma NULO valor porque uma restrição de chave exclusiva permite armazenar NULL, mas deve ser apenas um.

altura de kat timpf

Recursos da chave exclusiva

A seguir estão os principais recursos exclusivos essenciais:

  • Podemos construir a chave exclusiva a partir de um ou mais campos da tabela.
  • Uma tabela pode definir várias colunas-chave exclusivas.
  • Por padrão, uma chave exclusiva está em índices exclusivos não agrupados em cluster.
  • A coluna de restrição exclusiva pode armazenar valor NULL, mas apenas um NULL é permitido por coluna.
  • A chave estrangeira pode fazer referência à restrição exclusiva para preservar a exclusividade de uma tabela.

Principais diferenças entre chave primária e única

Os pontos a seguir explicam as principais diferenças entre chaves primárias e candidatas:

java substituir tudo
  • Uma chave primária pode constituir um ou mais campos de uma tabela para identificar exclusivamente os registros de uma tabela. Por outro lado, uma chave exclusiva evita que duas linhas tenham entradas duplicadas em uma coluna.
  • Uma tabela não pode ter mais de uma chave primária em um banco de dados relacional, embora possa haver várias chaves exclusivas por tabela.
  • Uma coluna de chave primária não pode conter valores NULL, enquanto uma chave exclusiva pode ter valores NULL, mas apenas um NULL é permitido em uma tabela.
  • Uma chave primária deve ser única, mas uma chave única não pode ser necessariamente a chave primária.
  • A chave primária por padrão é um índice clusterizado onde os dados são organizados fisicamente no índice sequencial. Por outro lado, a chave exclusiva é um índice exclusivo não agrupado.
  • A chave primária implementa a integridade da entidade, enquanto a chave exclusiva impõe dados exclusivos.

Gráfico de comparação de chave primária versus chave exclusiva

O gráfico de comparação a seguir explica suas principais diferenças de maneira rápida:

Base de comparação Chave primária Chave única
Básico A chave primária é usada como um identificador exclusivo para cada registro da tabela. A chave exclusiva também é um identificador exclusivo para registros quando a chave primária não está presente na tabela.
NULO Não podemos armazenar valores NULL na coluna de chave primária. Podemos armazenar o valor NULL na coluna de chave exclusiva, mas apenas um NULL é permitido.
Propósito Ele reforça a integridade da entidade. Ele impõe dados exclusivos.
Índice A chave primária, por padrão, cria um índice clusterizado. A chave exclusiva, por padrão, cria um índice não clusterizado.
Número de chave Cada tabela suporta apenas uma chave primária. Uma tabela pode ter mais de uma chave exclusiva.
Modificação de valor Não podemos alterar ou excluir os valores da chave primária. Podemos modificar os valores exclusivos da coluna-chave.
Usos É usado para identificar cada registro da tabela. Impede o armazenamento de entradas duplicadas em uma coluna, exceto um valor NULL.
Sintaxe Podemos criar uma coluna de chave primária na tabela usando a sintaxe abaixo:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Podemos criar uma coluna-chave exclusiva na tabela usando a sintaxe abaixo:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Conclusão

Neste artigo, fizemos uma comparação entre restrições de chave primária e de chave única. Concluímos aqui que uma chave exclusiva é útil quando queremos que as colunas não contenham valores duplicados. E a chave primária é útil quando não queremos manter o valor NULL na tabela. Também pode ser ideal quando temos uma chave estrangeira em outra tabela para criar um relacionamento entre tabelas.