Chaves DBMS: tipos de chave candidata, super, primária e estrangeira com exemplo

O que são chaves no DBMS?

CHAVES em SGBD é um atributo ou conjunto de atributos que ajuda a identificar uma linha (tupla) em uma relação (tabela). Eles permitem encontrar a relação entre duas tabelas. As chaves ajudam a identificar exclusivamente uma linha em uma tabela por meio de uma combinação de uma ou mais colunas dessa tabela. A chave também é útil para localizar registros ou linhas exclusivos da tabela. A chave do banco de dados também é útil para localizar registros ou linhas exclusivos da tabela.

Exemplo:

ID do Empregado Primeiro nome Sobrenome
11 Andrew Johnson
22 Tom Madeira
33 Alex Robusto

No exemplo acima, o ID do funcionário é uma chave primária porque identifica exclusivamente um registro de funcionário. Nesta tabela, nenhum outro funcionário pode ter o mesmo ID de funcionário.

Por que precisamos de uma chave?

Aqui estão alguns motivos para usar a chave SQL no sistema DBMS.

  • As chaves ajudam você a identificar qualquer linha de dados em uma tabela. Em uma aplicação real, uma tabela pode conter milhares de registros. Além disso, os registros poderiam ser duplicados. As chaves no RDBMS garantem que você possa identificar exclusivamente um registro de tabela, apesar desses desafios.
  • Permite estabelecer uma relação e identificar a relação entre tabelas
  • Ajudá-lo a reforçar a identidade e a integridade no relacionamento.

Tipos de chaves em DBMS (sistema de gerenciamento de banco de dados)

Existem principalmente oito tipos diferentes de chaves no DBMS e cada chave tem uma funcionalidade diferente:

  1. Superchave
  2. Chave primária
  3. Chave candidata
  4. Chave Alternativa
  5. chave estrangeira
  6. Chave composta
  7. Chave composta
  8. Chave substituta

Vejamos cada uma das chaves no DBMS com um exemplo:

  • Superchave – Uma superchave é um grupo de chaves únicas ou múltiplas que identifica linhas em uma tabela.
  • Chave primária - é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela.
  • Chave candidata - é um conjunto de atributos que identificam exclusivamente tuplas em uma tabela. Chave Candidata é uma superchave sem atributos repetidos.
  • Chave Alternativa – é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela.
  • Chave Estrangeira – é uma coluna que cria um relacionamento entre duas tabelas. O objetivo das chaves estrangeiras é manter a integridade dos dados e permitir a navegação entre duas instâncias diferentes de uma entidade.
  • Chave Composta – tem dois ou mais atributos que permitem reconhecer exclusivamente um registro específico. É possível que cada coluna não seja exclusiva por si só no banco de dados.
  • Chave Composta – é uma combinação de duas ou mais colunas que identificam exclusivamente as linhas em uma tabela. A combinação de colunas garante exclusividade, embora a exclusividade individual não seja garantida.
  • Chave substituta - Uma chave artificial que visa identificar exclusivamente cada registro é chamada de chave substituta. Esse tipo de chave é único porque é criado quando você não possui nenhuma chave primária natural.

Qual é a Superchave?

Uma superchave é um grupo de chaves únicas ou múltiplas que identifica linhas em uma tabela. Uma Superchave pode ter atributos adicionais que não são necessários para identificação exclusiva.

Exemplo:

EmpSSN EmpNum Nome do Empregado
9812345098 AB05 Mostrando
9876512345 AB06 Roslyn
199937890 AB07 James

No exemplo acima, EmpSSN e EmpNum name são superchaves.

O que é uma Chave Primária?

CHAVE PRIMÁRIA in DBMS é 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 não pode ter mais de uma chave primária.

Regras para definição de chave primária:

  • Duas linhas não podem ter o mesmo valor de chave primária
  • É necessário que cada linha tenha um valor de chave primária.
  • O campo de chave primária não pode ser nulo.
  • O valor em uma coluna de chave primária nunca poderá ser modificado ou atualizado se alguma chave estrangeira se referir a essa chave primária.

Exemplo:

No exemplo a seguir, StudID é uma chave primária.

ID do estudo Núm. da lista Nome Sobrenome E-mail
1 11 Tom Preço abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Natan mno@yahoo.com

Qual é a chave alternativa?

TECLAS ALTERNATIVAS é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela. Uma tabela pode ter várias opções para uma chave primária, mas apenas uma pode ser definida como chave primária. Todas as chaves que não são chaves primárias são chamadas de Chave Alternativa.

Exemplo:

Nesta tabela, StudID, Roll No, Email estão qualificados para se tornarem uma chave primária. Mas como StudID é a chave primária, Roll No, Email se torna a chave alternativa.

ID do estudo Núm. da lista Nome Sobrenome E-mail
1 11 Tom Preço abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Natan mno@yahoo.com

O que é uma chave candidata?

CHAVE CANDIDATA em SQL é um conjunto de atributos que identificam exclusivamente tuplas em uma tabela. Chave Candidata é uma superchave sem atributos repetidos. A chave primária deve ser selecionada entre as chaves candidatas. Cada tabela deve ter pelo menos uma única chave candidata. Uma tabela pode ter várias chaves candidatas, mas apenas uma única chave primária.

Propriedades da chave candidata:

  • Deve conter valores únicos
  • A chave candidata em SQL pode ter vários atributos
  • Não deve conter valores nulos
  • Deve conter campos mínimos para garantir exclusividade
  • Identifique exclusivamente cada registro em uma tabela

Exemplo de chave de candidato: Na tabela fornecida Stud ID, Roll No e email são chaves de candidato que nos ajudam a identificar exclusivamente o registro do aluno na tabela.

ID do estudo Núm. da lista Nome Sobrenome E-mail
1 11 Tom Preço abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Natan mno@yahoo.com

Chave candidata
Chave candidata em DBMS

Qual é a chave estrangeira?

CHAVE ESTRANGEIRA é uma coluna que cria um relacionamento entre duas tabelas. O objetivo das chaves estrangeiras é manter a integridade dos dados e permitir a navegação entre duas instâncias diferentes de uma entidade. Ele atua como uma referência cruzada entre duas tabelas, pois faz referência à chave primária de outra tabela.

Exemplo:

CódigoDept NomeDepto.
001 Ciência
002 Inglês
005 Computação
ID do professor Fnome Lnome
B002 David Warner
B017 Sara Joseph
B009 microfone Brunton

Neste exemplo de chave no dbms, temos duas tabelas, ensino e departamento em uma escola. No entanto, não há como ver qual pesquisa funciona em qual departamento.

Nesta tabela, adicionando a chave estrangeira em Deptcode ao nome do Professor, podemos criar um relacionamento entre as duas tabelas.

ID do professor CódigoDept Fnome Lnome
B002 002 David Warner
B017 002 Sara Joseph
B009 001 microfone Brunton

Este conceito também é conhecido como Referencial Integrity.

Qual é a chave composta?

CHAVE COMPOSTA tem dois ou mais atributos que permitem reconhecer exclusivamente um registro específico. É possível que cada coluna não seja exclusiva por si só no banco de dados. No entanto, quando combinada com outra coluna ou colunas, a combinação de chaves compostas torna-se única. O objetivo da chave composta no banco de dados é identificar exclusivamente cada registro da tabela.

Exemplo:

Pedido Não PorductID Nome do Produto Qtd.
B005 JAP102459 Rato 5
B005 DKT321573 USB 10
B005 Meu Deus446789 Monitor LCD 20
B004 DKT321573 USB 15
B002 Meu Deus446789 Impressora a laser 3

Neste exemplo, OrderNo e ProductID não podem ser uma chave primária, pois não identificam exclusivamente um registro. No entanto, uma chave composta de ID do pedido e ID do produto poderia ser usada, pois identificava cada registro de maneira exclusiva.

Qual é a chave composta?

CHAVE COMPOSTA é uma combinação de duas ou mais colunas que identificam exclusivamente as linhas em uma tabela. A combinação de colunas garante exclusividade, embora a exclusividade individual não seja garantida. Conseqüentemente, eles são combinados para identificar exclusivamente os registros em uma tabela.

A diferença entre a chave composta e a chave composta é que qualquer parte da chave composta pode ser uma chave estrangeira, mas a chave composta pode ou não fazer parte da chave estrangeira.

O que é uma chave substituta?

CHAVES SUBSTITUTAS is Uma chave artificial que visa identificar exclusivamente cada registro é chamada de chave substituta. Esse tipo de chave parcial no dbms é única porque é criada quando você não possui nenhuma chave primária natural. Eles não dão nenhum significado aos dados da tabela. A chave substituta no DBMS geralmente é um número inteiro. Uma chave substituta é um valor gerado logo antes do registro ser inserido em uma tabela.

Fnome Último nome Hora de início End Time
Anne ferreiro 09:00 18:00
tomada Francis 08:00 17:00
Anna McLean 11:00 20:00
Mostrando willam 14:00 23:00

Acima, dado o exemplo, são mostrados os horários dos turnos dos diferentes funcionários. Neste exemplo, é necessária uma chave substituta para identificar exclusivamente cada funcionário.

Chaves substitutas em sql são permitidos quando

  • Nenhuma propriedade possui o parâmetro da chave primária.
  • Na tabela quando a chave primária é muito grande ou complicada.

Diferença entre chave primária e chave estrangeira

A seguir está a principal diferença entre chave primária e chave estrangeira:

Chave primária chave estrangeira
Ajuda você a identificar exclusivamente um registro na tabela. É um campo da tabela que é a chave primária de outra tabela.
A chave primária nunca aceita valores nulos. Uma chave estrangeira pode aceitar vários valores nulos.
A chave primária é um índice clusterizado e os dados na tabela DBMS são organizados fisicamente na sequência do índice clusterizado. Uma chave estrangeira não pode criar automaticamente um índice, agrupado ou não agrupado. No entanto, você pode criar manualmente um índice na chave estrangeira.
Você pode ter uma única chave primária em uma tabela. Você pode ter várias chaves estrangeiras em uma tabela.

Resumo

  • O que é chave no SGBD: Uma chave no SGBD é um atributo ou conjunto de atributos que ajuda a identificar uma linha (tupla) em uma relação (tabela)
  • Chaves em RDBMS permitem que você estabeleça um relacionamento e identifique a relação entre tabelas
  • Oito tipos de chave no SGBD são Super, Primária, Candidata, Alternativa, Estrangeira, Composta, Composta e Chave Substituta.
  • Uma superchave é um grupo de chaves únicas ou múltiplas que identifica linhas em uma tabela.
  • Uma coluna ou grupo de colunas em uma tabela que nos ajuda a identificar exclusivamente cada linha dessa tabela é chamada de chave primária
  • Todas as chaves diferentes no SGBD que não são chaves primárias são chamadas de chave alternativa
  • Uma superchave sem nenhum atributo repetido é chamada de chave candidata
  • Uma chave composta é uma chave que possui muitos campos que permitem reconhecer exclusivamente um registro específico
  • Uma chave que possui vários atributos para identificar exclusivamente as linhas em uma tabela é chamada de chave composta
  • Uma chave artificial que visa identificar exclusivamente cada registro é chamada de chave substituta
  • A chave primária nunca aceita valores nulos, enquanto uma chave estrangeira pode aceitar vários valores nulos.