Chave primária vs chave única: qual é a diferença?

O que é a chave primária?

Uma restrição de chave primária é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela. A chave primária não pode ser uma duplicata, o que significa que o mesmo valor não pode aparecer mais de uma vez na tabela.

Uma tabela deve ter mais de uma chave primária. A chave primária pode ser definida no nível da coluna ou da tabela. Se você criar uma chave primária composta, ela deve ser definida no nível da tabela.

Neste tutorial, você aprenderá:

O que é chave única?

Uma chave única é um grupo de um ou mais campos ou colunas de uma tabela que identifica exclusivamente o registro do banco de dados.

Uma chave exclusiva é igual a uma chave primária, mas pode aceitar um valor nulo para uma coluna da tabela. Também não pode conter valores idênticos. As restrições exclusivas são referenciadas pela chave estrangeira de outras tabelas.

PRINCIPAIS DIFERENÇAS

  • Pode haver uma chave primária em uma tabela, enquanto pode haver várias chaves exclusivas na tabela.
  • O objetivo da chave primária é reforçar a integridade da entidade, por outro lado, o objetivo da chave única é aplicar dados exclusivos.
  • Na chave primária, o índice padrão é agrupado, enquanto na chave única, o índice padrão é não agrupado
  • A chave primária não permite colunas nulas, enquanto a única permite colunas nulas.
  • Na chave primária, chaves duplicadas não são permitidas enquanto em uma chave única, se uma ou mais partes da chave forem nulas, então chaves duplicadas são permitidas.

Por que usar a chave primária?

Aqui estão as razões importantes para usar a chave primária:

  • O objetivo principal da chave primária é identificar cada registro na tabela do banco de dados.
  • Você pode usar uma chave primária quando não permitir que alguém insira valores nulos.
  • Se você excluir ou atualizar um registro, a ação especificada será realizada para garantir a integridade dos dados do banco de dados.
  • Execute a operação de restrição para rejeitar a operação de exclusão ou atualização da tabela pai.
  • Os dados são organizados em sequência de índice agrupado sempre que você organiza fisicamente a tabela DBMS.

Por que usar a chave única?

Aqui estão as razões importantes para usar a chave exclusiva:

  • O objetivo de uma chave exclusiva é garantir que as informações na coluna de cada registro da tabela sejam exclusivas.
  • Quando você permite que o usuário insira o valor nulo.
  • A chave exclusiva é usada porque cria um índice não agrupado por padrão.
  • A chave única pode ser usada quando você precisa manter valores nulos na coluna.
  • Quando um ou mais campos / colunas de uma tabela identificam exclusivamente um registro em uma tabela de banco de dados.

Características da chave primária

Aqui estão os recursos importantes da chave primária:

  • A chave primária implementa a integridade da entidade da tabela.
  • Você pode manter apenas um primário na tabela.
  • A chave primária contém uma ou mais colunas da tabela.
  • As colunas são definidas como não nulas.

Características da chave única

Aqui estão os recursos importantes da chave exclusiva:

  • Você pode definir mais de uma chave exclusiva na tabela.
  • Por padrão, as chaves exclusivas estão em índices exclusivos não agrupados.
  • É constituído por uma ou mais colunas da tabela.
  • A coluna da tabela pode ser nula, mas apenas um nulo por coluna é preferível.
  • Uma restrição única pode ser facilmente referenciada por uma restrição de chave estrangeira.

Exemplo de criação de chave primária

O exemplo a seguir descreve que existe uma tabela chamada aluno. Ele contém cinco atributos, 1) StudID, 2) Roll No, 3) First Name, 4) Last Name e 5) Email.

O atributo Roll No nunca pode conter um valor duplicado ou nulo. É porque cada aluno matriculado em uma universidade pode ter um número de rolo único. Você pode identificar facilmente cada linha de uma tabela com o número do rolo do aluno. Portanto, é considerada uma chave primária.

Exemplo de chave primária



Exemplo de criação de chave única

Considere a mesma tabela de alunos com atributos, 1) StudID, 2) Roll No, 3) First Name, 4) Last Name e 5) Email.

Stud ID pode ter uma restrição única onde as entradas na coluna Stud ID podem ser únicas porque cada aluno de uma universidade deve ter um número de ID único. No caso, se o aluno está mudando de universidade, nesse caso, ele não teria carteira de estudante. A entrada pode ter um valor nulo, pois apenas um nulo é permitido na restrição de chave exclusiva.

Exemplo chave único

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

Aqui estão as diferenças importantes entre a chave primária e a chave única:

Chave primária Chave única
Pode haver uma chave primária em uma tabelaPode haver várias chaves exclusivas na tabela
Não permite colunas nulas.Ele permite colunas nulas.
O índice padrão é agrupadoO índice padrão é sem cluster
O objetivo da chave primária é garantir a integridade da entidade.O objetivo da chave exclusiva é aplicar dados exclusivos.
A chave primária pode ser criada usando a sintaxe:
 CREATE TABLE Employee ( ID int PRIMARY KEY, Name varchar(255), City varchar(150) ) 
A chave única pode ser criada usando a sintaxe:
 CREATE TABLE Employee ( ID int UNIQUE. Name varchar(255) NOT NULL. City varchar(150) ) 
É uma restrição SQL que permite identificar exclusivamente cada registro ou linha na tabela do banco de dados.É uma restrição SQL que não permite que o mesmo valor seja atribuído a dois registros isolados em uma tabela de banco de dados.
Na chave primária, chaves duplicadas não são permitidas.Em uma chave única, se uma ou mais partes da chave forem nulas, chaves duplicadas são permitidas.

O que é melhor?

  • A chave única é melhor quando você tem colunas que sabe que não devem conter duplicação. Essa é uma boa maneira de garantir a validação dos dados.
  • A chave primária é ideal quando você não pode manter null na tabela. Também pode ser usado quando você tiver uma chave estrangeira em outra tabela para criar um relacionamento.