Chaves do SGBD: Tipos Candidato, Primário, Super e Estrangeiro

⚡ Resumo Inteligente

Em um SGBD (Sistema de Gerenciamento de Banco de Dados), as chaves são atributos que identificam exclusivamente uma linha em uma tabela e estabelecem relações entre tabelas. Oito tipos de chave, desde superchave e chave primária até chave estrangeira e chave substituta, garantem a identidade e a integridade em um banco de dados relacional.

  • 🗝️ Objetivo principal: Uma chave identifica uma linha única e vincula tabelas relacionadas, mantendo a consistência dos dados.
  • 🔝 Super chave: Qualquer conjunto de atributos que identifique linhas, possivelmente com atributos extras além do mínimo necessário.
  • Chave primária: A chave candidata escolhida, nunca nula e nunca duplicada, é uma por tabela.
  • 🎯 Chave candidata: Uma superchave mínima sem atributos redundantes; a chave primária é escolhida dentre estas.
  • 🔁 Chave alternativa: Qualquer chave candidata que não tenha sido selecionada como chave primária.
  • 🔗 Chave Estrangeira: Uma coluna que faz referência à chave primária de outra tabela para garantir a integridade referencial.
  • 🧩 Composto e substituto: Chaves compostas combinam colunas para garantir a unicidade; uma chave substituta é uma chave gerada automaticamente.

Chaves DBMS Candidato Super Primário

O que são chaves em um SGBD?

Chaves em um SGBD Chaves são um atributo ou conjunto de atributos que ajudam a identificar uma linha (tupla) em uma relação (tabela). Elas 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 e também são úteis para encontrar um registro único na 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 o registro de um funcionário. Nesta tabela, nenhum outro funcionário pode ter o mesmo ID.

Por que precisamos de uma chave?

Aqui estão alguns motivos para usar uma chave em um SGBD:

  • As chaves ajudam a identificar qualquer linha de dados em uma tabela. Em uma aplicação real, uma tabela pode conter milhares de registros, e os registros podem ser duplicados. As chaves garantem que você possa identificar exclusivamente um registro da tabela, apesar desses desafios.
  • Elas permitem estabelecer e identificar relações entre tabelas.
  • Elas ajudam a reforçar a identidade e a integridade no relacionamento.

Tipos de chaves em um SGBD

Existem basicamente oito tipos diferentes de chaves em um SGBD (Sistema de Gerenciamento de Banco de Dados), e cada chave possui sua própria funcionalidade:

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

A tabela abaixo resume os oito itens de forma concisa, antes de cada um ser explicado em detalhes.

Chave Em uma linha Único?
Superchave Qualquer conjunto de atributos que identifique uma linha, com extras permitidos. Sim
Chave candidata Uma superchave minimalista, sem atributos redundantes. Sim
Chave primária A chave candidata escolhida, não nula. Sim
Chave Alternativa Uma chave candidata não foi escolhida como primária. Sim
chave estrangeira Faz referência a uma chave primária em outra tabela. Não
Chave composta Dois ou mais atributos, cada um possivelmente não único. Combinado
Chave composta Duas ou mais colunas combinadas para unicidade Combinado
Chave substituta Um identificador artificial gerado Sim

O que é uma Super Chave?

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

Exemplo:

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

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

O que é uma Chave Primária?

CHAVE PRIMÁRIA in DBMS Uma 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, ou seja, 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 definir uma chave primária

  • Duas linhas não podem ter o mesmo valor de chave primária.
  • Cada linha deve ter 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

O que é uma chave alternativa?

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

Exemplo: Nesta tabela, StudID, Roll No e Email são elegíveis para serem chaves primárias. Mas, como StudID é a chave primária, Roll No e Email tornam-se chaves alternativas.

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 Uma chave candidata é um conjunto de atributos que identificam exclusivamente as tuplas em uma tabela. Uma chave candidata é uma superchave sem atributos repetidos. A chave primária deve ser selecionada dentre as chaves candidatas. Toda tabela deve ter pelo menos uma chave candidata, e uma tabela pode ter múltiplas chaves candidatas, mas apenas uma chave primária.

Propriedades de uma chave candidata:

  • Deve conter valores únicos.
  • Uma chave candidata pode ter múltiplos atributos.
  • Não deve conter valores nulos.
  • Deve conter os campos mínimos necessários para garantir a unicidade.
  • Ele identifica de forma única cada registro em uma tabela.

Exemplo: Na tabela abaixo, StudID, Roll No e Email são chaves candidatas que nos ajudam a identificar exclusivamente o registro de um aluno. Sua relação com as superchaves e chaves primárias é uma maneira comum de entender dependência funcional.

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 em DBMS
Chave candidata em DBMS

O que é uma chave estrangeira?

CHAVE ESTRANGEIRA Uma chave estrangeira é uma coluna que cria uma relação entre duas tabelas. O objetivo de uma chave estrangeira é manter a integridade dos dados e permitir a navegação entre duas instâncias diferentes de uma entidade. Ela funciona como uma referência cruzada entre duas tabelas, pois referencia a chave primária de outra tabela.

Exemplo:

DeptCode 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, temos duas tabelas, Professor e Departamento, em uma escola. Da forma como estão, não há como ver qual professor trabalha em qual departamento.

Ao adicionar a chave estrangeira DeptCode Ao adicionar a tabela Professor, podemos criar uma relação entre as duas tabelas.

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

Este conceito também é conhecido como integridade referencial.

O que é uma chave composta?

CHAVE COMPOSTA Possui dois ou mais atributos que permitem reconhecer exclusivamente um registro específico. É possível que cada coluna individualmente não seja única dentro do banco de dados. No entanto, quando combinadas, as colunas tornam-se únicas. O objetivo da chave composta é identificar exclusivamente cada registro na tabela.

Exemplo:

Pedido Não ID do produto 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 chaves primárias individualmente, pois nenhuma delas identifica um registro de forma única. No entanto, uma chave composta por OrderNo e ProductID identifica cada registro de forma única.

O que é uma chave composta?

CHAVE COMPOSTA Uma coluna é uma combinação de duas ou mais colunas que identificam exclusivamente as linhas em uma tabela. A combinação das colunas garante a unicidade, embora individualmente a unicidade não seja garantida. Portanto, elas são combinadas para identificar exclusivamente os registros em uma tabela.

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

O que é uma chave substituta?

CHAVE SUBSTITUTA Uma chave substituta é uma chave artificial que visa identificar cada registro de forma única. Esse tipo de chave é único porque é criado quando não existe uma chave primária natural. As chaves substitutas não conferem significado aos dados da tabela e geralmente são um número inteiro gerado imediatamente antes da inserção do registro.

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

O exemplo acima mostra os horários de turno de diferentes funcionários. Aqui, é necessária uma chave substituta para identificar cada funcionário de forma única. Chaves substitutas em SQL são usados ​​quando:

  • Nenhuma propriedade possui o parâmetro de chave primária.
  • A chave primária é muito grande ou complicada.

Diferença entre chave primária e chave estrangeira

A principal diferença entre uma chave primária e uma chave estrangeira é a seguinte:

Chave primária chave estrangeira
Ajuda você a identificar um registro de forma única na tabela. É um campo da tabela que é a chave primária de outra tabela.
Uma 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 são fisicamente organizados na sequência do índice clusterizado. Uma chave estrangeira não cria automaticamente um índice, seja ele clusterizado ou não clusterizado. Você pode criá-lo manualmente.
Você pode ter uma única chave primária em uma tabela. Você pode ter várias chaves estrangeiras em uma tabela.

Perguntas Frequentes

Cada chave candidata pode identificar uma linha de forma única. A chave primária é a chave candidata selecionada pelo projetista; as demais chaves candidatas tornam-se chaves alternativas.

Ambas combinam colunas para garantir a unicidade. Em uma chave composta, cada coluna é, por si só, uma chave estrangeira, enquanto uma chave composta simplesmente une dois ou mais atributos que não precisam ser chaves estrangeiras.

Use uma chave substituta quando nenhum atributo natural for confiável e único, ou quando a chave natural for grande ou puder mudar. Um número inteiro gerado permanece estável e simplifica as junções.

Sim. Ao analisar o perfil das colunas quanto à unicidade, taxa de valores nulos e estabilidade, a IA pode selecionar chaves candidatas e sugerir uma chave primária ou uma chave substituta, deixando a escolha final para o designer.

Sim. Ao contrário de uma chave primária, uma chave estrangeira pode conter valores nulos, o que representa uma linha que ainda não está relacionada a nenhum registro pai. Uma chave estrangeira não nula deve corresponder a uma chave primária existente.

Resuma esta postagem com: