Entenda a Diferença entre Chave Primária e Chave Estrangeira

Diferença entre Chave Primária e Chave Estrangeira

Relacionamentos entre tabelas nem sempre são fáceis de aprender quando estamos iniciando. Cardinalidade, modelagem, chaves primárias e estrangeiras…

Tudo isso pode confundir e muito a cabeça do iniciante. E eu já passei muito por isso.

Mas nesse post eu vou te mostrar a principal diferença entre Chave Primária e Chave Estrangeira e como você deve usá-las em suas tabelas.

Acompanhe abaixo:

Chave Primária – Primary Key

A Chave Primária serve para quando precisamos dos seguintes objetivos em uma tabela:

  • Que tenha unicidade de um registro
  • Que esse registro NÃO seja nulo
  • Que esse registro possa identificar a tabela

A Chave Primária (PRIMARY KEY) identifica uma tabela por meio da unicidade de um registro e por sua obrigatoriedade de não ser nulo.

Contudo, uma tabela só pode ter apenas uma Chave Primária, que geralmente é o ID ou COD ou algo do tipo… Menos CPF por favor…

Chave Estrangeira – Foreign Key

Chave Estrangeira é sinônimo de relacionamento entre tabelas. Por quê?

Porque uma Chave Estrangeira nada mais é do que a Chave Primária de uma tabela definida em outra tabela. E por que é feito isso?

A Chave Estrangeira, além de conectar tabelas, tem mais esses propósitos:

  • Ela impede que você adicione um valor inválido no ID de uma tabela
  • Ela impede que você exclua um registro caso ele faça referência em outra tabela

Traduzindo: a Chave Estrangeira não deixa você adicionar um valor que não existe para o campo da Chave Primária quando você referencia com outra tabela o mesmo campo.

Ela também não vai deixar você excluir um dado da sua tabela, sem que antes você o exclua da tabela original, a que você faz referência utilizando a Chave Estrangeira.

Ao contrário da Chave Primária, uma tabela pode ter mais de uma Chave Estrangeira.

Principal Diferença entre Chave Primária e Estrangeira

Para concluir, basta dizer que a Chave Primária identifica e garante a unicidade a um registro de uma tabela. Assim ele é único, mas também não nulo, ou seja, é obrigatório que haja um valor válido ali.

Já a Chave Estrangeira promove o relacionamento entre tabelas. A Chave Estrangeira nada mais é do que a Chave Primária de outra tabela.

Portanto, quando você precisa da união entre duas ou mais tabelas, é ela quem possibilita a consulta e manipulação dos registros.

  • Chave Primária: identificação
  • Chave Estrangeira: relacionamento

Mais artigos sobre banco de dados:

Gostou do post? Inscreva-se no blog para receber mais conteúdos como este.

Qual é a sua opinião?