Diferença entre chave primária e chave exclusiva

A chave primária e a chave exclusiva são chaves exclusivas em um banco de dados relacional que garantem a exclusividade dos valores em uma coluna ou em um conjunto de colunas. Já existe uma restrição de chave exclusiva predefinida dentro de uma restrição de chave primária. Enquanto uma chave primária é usada particularmente para identificar cada registro na tabela, uma chave exclusiva, por outro lado, é usada para impedir entradas duplicadas em uma coluna, com exceção de uma entrada nula. No entanto, ambas as chaves podem conter mais de uma coluna de uma determinada tabela e ambas desempenham um papel crucial no armazenamento e recuperação de dados. Os dados são uma série de tabelas com colunas e essas colunas armazenam informações de todos os tipos que podem ser acessados ​​ou recuperados ainda mais usando instruções. É aqui que as teclas aparecem na imagem. Chave Primária e Chave Única são duas chaves únicas que determinam como os dados devem ser armazenados no sistema.

Chave primária

Uma chave primária (também usada por palavra-chave primária) é uma chave exclusiva em um banco de dados relacional que identifica cada registro em uma tabela de banco de dados. É uma espécie de identificador único, como um número de segurança social da pessoa, número de telefone, número da carteira de motorista ou número da placa do veículo. Um banco de dados deve ter apenas uma chave primária.

Uma tabela em um banco de dados contém uma coluna ou um conjunto de colunas que contém valores que identificam exclusivamente cada linha da tabela. Essa coluna ou um conjunto de colunas é chamada chave primária da tabela, que deve conter valores exclusivos e não pode conter valores nulos. Sem uma chave primária, o banco de dados relacional não funcionará.

Uma chave primária é criada definindo uma restrição PRIMARY KEY ao criar ou modificar uma tabela. No SQL Standard, uma chave primária pode conter uma ou várias colunas, enquanto cada coluna é definida implicitamente como NOT NULL. Se você definir uma restrição PRIMARY KEY em mais de uma coluna, isso poderá resultar na duplicação de valores em uma coluna; é por isso que cada combinação de valores deve ser exclusiva para todas as colunas..

Uma chave primária possui as seguintes funções:

  • Cada tabela deve ter uma e apenas uma chave primária, não mais que uma.
  • Uma chave primária não pode conter valores NULL.
  • Pode consistir em uma ou mais colunas.
  • Todas as colunas devem ser definidas como NOT NULL.
  • Uma chave primária é um índice exclusivo em cluster por padrão.

Chave única

Uma chave exclusiva é um conjunto de uma ou mais de uma coluna / campo de uma tabela que identifica exclusivamente um registro em uma tabela de banco de dados. A restrição UNIQUE KEY garante que todos os valores em uma coluna sejam exclusivos no banco de dados. Assim como uma chave primária, uma chave exclusiva também pode incluir mais de uma coluna. No entanto, uma chave exclusiva pode aceitar apenas um valor nulo. Não há duas linhas com os mesmos valores em uma tabela de banco de dados.

Uma chave exclusiva é bastante semelhante a uma chave primária e pode ser definida durante a criação da tabela. Quando uma coluna ou um conjunto de colunas é marcado como exclusivo no sistema de banco de dados relacional, ele verifica a integridade dos valores antes de atribuir a restrição, para impedir que dois registros tenham valores idênticos em uma coluna específica.

UNIQUE é uma restrição em uma coluna não PRIMARY KEY que caracteriza o seguinte:

  • Uma restrição de CHAVE ÚNICA garante a exclusividade dos valores.
  • Várias chaves exclusivas podem ser definidas em uma tabela.
  • Uma coluna pode conter um valor NULL, mas apenas um valor NULL por coluna é permitido.
  • Uma chave exclusiva pode criar um índice não agrupado por padrão.

Diferença entre chave primária e chave exclusiva

1. Função

Uma chave primária é uma espécie de identificador de chave exclusivo que identifica exclusivamente uma linha em uma tabela de banco de dados, enquanto uma chave exclusiva identifica todas as linhas possíveis que existem em uma tabela e não apenas as linhas existentes no momento.

2. Comportamento

Uma chave primária é usada para identificar um registro em uma tabela de banco de dados, enquanto uma chave exclusiva é usada para evitar valores duplicados em uma coluna, com exceção de uma entrada nula.

3. Indexação

Uma chave primária cria um índice exclusivo em cluster por padrão, enquanto uma chave exclusiva é um índice não em cluster exclusivo em uma tabela de banco de dados por padrão.

4. Valores Nulos

Uma chave primária não pode aceitar valores NULL em uma tabela de banco de dados, enquanto uma chave exclusiva pode aceitar apenas um valor NULL na tabela.

5. Limite

Pode haver apenas uma e apenas uma chave primária em uma tabela; no entanto, pode haver várias chaves exclusivas para uma tabela em um sistema de banco de dados.

Chave primária vs. chave exclusiva

Chave primária

Chave única

Uma chave primária é usada para identificar exclusivamente um registro / linha em uma tabela de banco de dados. Uma chave exclusiva é usada para identificar exclusivamente todas as linhas possíveis em uma tabela e não apenas as linhas existentes no momento.
Não aceita valores NULL. Ele pode aceitar apenas um valor NULL em uma tabela.
É um índice agrupado por padrão, o que significa que os dados são organizados na sequência de índices agrupados. É um índice não clusterizado exclusivo por padrão.
Pode haver apenas uma chave primária em uma tabela. Uma tabela pode ter várias chaves exclusivas.
A chave primária é definida usando a restrição PRIMARY KEY. Chave exclusiva é representada usando uma restrição UNIQUE.
Usado para identificar uma linha em uma tabela. Usado para evitar valores duplicados em uma coluna.
Os valores da chave primária não podem ser alterados ou excluídos. Valores-chave exclusivos podem ser modificados.

Sumário

  • Tanto a chave primária quanto a chave exclusiva são restrições de integridade da entidade que são semelhantes em muitos aspectos. No entanto, eles têm seu quinhão de diferenças quando se trata de programação. Ambos são conceitos essenciais usados ​​principalmente em sistemas de gerenciamento de banco de dados.
  • Chave primária é um conjunto de uma ou mais colunas / campos de uma tabela de banco de dados que identificam exclusivamente um registro em uma tabela. A chave exclusiva, por outro lado, impede que dois registros tenham valores idênticos em uma coluna.
  • Conceitualmente, pode haver apenas uma CHAVE PRIMÁRIA para uma determinada tabela, enquanto pode haver mais de uma CHAVE ÚNICA para uma tabela.
  • Uma chave primária deve ser única, mas não precisa necessariamente ser a chave primária.
  • Uma chave primária não pode aceitar valores NULL em uma tabela, enquanto uma chave exclusiva pode permitir valores NULL com exceção de apenas um NULL em uma tabela.