Diferença entre chave primária e chave exclusiva

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

  • Pode haver uma chave primária em uma tabela, mas 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 exclusiva é impor dados exclusivos.
  • Em chaves primárias, o índice padrão é agrupado, enquanto em chaves únicas, o índice padrão não é agrupado
  • A chave primária não permite colunas nulas, enquanto a chave exclusiva 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 serão permitidas.

Diferença entre chave primária e chave exclusiva
Diferença entre chave primária e chave exclusiva

Aqui, analisei a diferença entre a chave primária e a chave única e avaliarei de forma abrangente seus prós e contras.

O que é 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 duplicada, o que significa que o mesmo valor não pode aparecer mais de uma vez na tabela.

Uma tabela pode ter apenas uma chave primária. Chave primária pode ser definido no nível da coluna ou da tabela. Se você criar uma chave primária composta, ela deverá ser definida no nível da tabela.

Exemplo de criação de uma chave primária

O exemplo a seguir descreve que há uma tabela chamada student. Ela 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. Isso ocorre porque cada aluno matriculado em uma universidade pode ter um número de matrícula exclusivo. Você pode identificar facilmente cada linha de uma tabela com o número da lista do aluno. Portanto, é considerada uma chave primária.

Exemplo de criação de chave primária
Exemplo de chave primária

Recursos da chave primária

Com base em minhas observações, aqui estão os recursos importantes de uma 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.

Por que usar chave primária?

Chave primária

Refletindo sobre meu conhecimento prático, aqui estão os motivos importantes para usar uma chave primária:

  • O principal objetivo da chave primária é identificar cada registro na tabela do banco de dados.
  • Você pode usar uma chave primária quando não permite 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 uma operação de restrição para rejeitar a operação de exclusão ou atualização da tabela pai.
  • Os dados são organizados na sequência de índices agrupados sempre que você organiza fisicamente uma tabela do DBMS.

O que é Chave Única?

Uma chave exclusiva é um grupo de um ou mais campos ou colunas em uma tabela que identifica exclusivamente um registro de 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.

Exemplo de criação de chave exclusiva

Considere a mesma tabela de alunos com os seguintes atributos: 1) StudID, 2) Número de matrícula, 3) Nome, 4) Sobrenome e 5) E-mail.

Stud ID pode ter uma restrição exclusiva onde as entradas na coluna Stud ID podem ser exclusivas porque cada aluno de uma universidade deve ter um número de identificação exclusivo. Se um aluno estiver mudando de universidade, ele não terá nenhuma carteira de estudante. A entrada pode ter um valor nulo, pois apenas um nulo é permitido na restrição de chave exclusiva.

Exemplo de criação de chave exclusiva
Exemplo de chave exclusivo

Recursos da chave exclusiva

Aqui, descreverei os recursos importantes de uma chave exclusiva:

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

Por que usar a Chave Única?

Aqui estão os motivos importantes pelos quais recomendo o uso de uma 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.
  • Chave única é usado porque cria um índice não agrupado por padrão.
  • A chave exclusiva 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.

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

Na minha análise, aqui estão as principais diferenças entre uma chave primária e uma chave única:

Diferença entre chave primária e chave única
Chave Primária vs Chave Única
Base de comparação Chave primária Chave única
Número de chave Pode haver uma chave primária em uma tabela Pode haver várias chaves exclusivas na tabela
NULL Não permite colunas nulas. Permite colunas nulas.
Índice O índice padrão é agrupado O índice padrão não é clusterizado
Propósito O objetivo da chave primária é reforçar a integridade da entidade. O objetivo de uma chave exclusiva é impor dados exclusivos.
Use É 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.
Modificação de valor Na chave primária não são permitidas chaves duplicadas. Em uma chave exclusiva, se uma ou mais partes da chave forem nulas, serão permitidas chaves duplicadas.
Sintaxe

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 exclusiva pode ser criada usando a sintaxe:

CREATE TABLE Employee
(
ID int UNIQUE.
Name varchar(255) NOT NULL. City varchar(150)
)

Você também pode explorar: Diferença entre chave primária e chave estrangeira

Como escolher entre uma chave primária e uma chave exclusiva

  • Chaves exclusivas são melhores quando temos colunas que sabemos que não deveriam conter duplicação.
  • A chave primária é ideal quando você não pode manter nulo na tabela. Também pode ser usado quando você possui uma chave estrangeira em outra tabela para criar um relacionamento.