Diferença entre Chave Primária e Chave Estrangeira

As chaves são elementos fundamentais do banco de dados relacional porque estabelecem um relacionamento entre um par de tabelas e garantem que cada registro em uma tabela seja identificado exclusivamente. As chaves têm um significado mais particular do que o estabelecimento de relacionamentos; eles também ajudam na integridade referencial e são um componente importante da integridade no nível da tabela. As tabelas armazenam grandes quantidades de dados nelas, que geralmente se estendem a milhares de registros, todos eles não classificados e desorganizados. A obtenção de dados específicos desses inúmeros registros pode ser difícil às vezes ou às vezes impossível. É aqui que Keys aparece. Aqui, estudaremos as duas chaves muito importantes do esquema de banco de dados relacional e a diferença entre elas: chave primária e chave estrangeira.

O que é uma chave primária?

Uma chave primária é uma chave especial que identifica exclusivamente cada registro em uma tabela. É muito importante no banco de dados relacional ter um identificador exclusivo em cada linha de uma tabela e a chave primária é exatamente o que você precisa para identificar exclusivamente uma tupla em uma tabela. Uma tupla representa um conjunto de atributos de valor em um banco de dados relacional. Uma chave primária pode se referir a uma coluna ou a um conjunto de colunas em uma tabela de banco de dados relacional usada para identificar implicitamente todos os registros na tabela. A chave primária deve ser exclusiva para cada registro, pois atua como um identificador exclusivo e não deve conter valores nulos. Cada banco de dados deve ter uma e apenas uma chave primária.

O que é uma chave estrangeira?

Uma chave estrangeira refere-se a um campo ou a uma coleção de campos em um registro de banco de dados que identifica exclusivamente um campo-chave de outro registro de banco de dados em alguma outra tabela. Em termos simples, ele estabelece um link entre registros em duas tabelas diferentes em um banco de dados. Pode ser uma coluna em uma tabela que aponta para as colunas da chave primária, o que significa que uma chave estrangeira definida em uma tabela se refere à chave primária de outra tabela. As referências são cruciais nos bancos de dados relacionais para estabelecer links entre registros, essenciais para a classificação dos bancos de dados. Chaves estrangeiras desempenham um papel importante na normalização de banco de dados relacional, especialmente quando as tabelas precisam acessar outras tabelas.

Diferença entre Chave Primária e Chave Estrangeira

Noções básicas de Chave Primária vs Chave Estrangeira

Uma chave primária é uma chave especial em um banco de dados relacional que atua como um identificador exclusivo para cada registro, o que significa que identifica exclusivamente cada linha / registro em uma tabela e seu valor deve ser exclusivo para cada linha da tabela. Uma chave estrangeira, por outro lado, é um campo em uma tabela que vincula duas tabelas. Refere-se a uma coluna ou a um grupo de colunas que identifica exclusivamente uma linha de outra tabela ou mesma tabela.

Relação entre Chave Primária e Chave Estrangeira

Uma chave primária identifica exclusivamente um registro na tabela de banco de dados relacional, enquanto uma chave estrangeira se refere ao campo em uma tabela que é a chave primária de outra tabela. Uma chave primária deve ser única e apenas uma chave primária é permitida em uma tabela que deve ser definida, enquanto mais de uma chave estrangeira é permitida em uma tabela.

Valores duplicados de chave primária vs chave estrangeira

Uma chave primária é uma combinação de restrições UNIQUE e Not Null, para que nenhum valor duplicado possa ter em um campo de chave primária em uma tabela de banco de dados relacional. Não é permitido que duas linhas transportem valores duplicados para um atributo de chave primária. Ao contrário de uma chave primária, a chave estrangeira pode conter valores duplicados e uma tabela em um banco de dados relacional pode conter mais do que a chave estrangeira.

NULL da chave primária versus chave estrangeira

Uma das principais diferenças entre os dois é que, diferentemente das chaves primárias, as chaves estrangeiras também podem conter valores NULL. Uma tabela em um banco de dados relacional pode ter apenas uma chave primária que não permite valores NULL.

Tabela temporária de chave primária vs chave estrangeira

Uma restrição de chave primária pode ser definida implicitamente em tabelas temporárias e suas variáveis, enquanto uma restrição de chave estrangeira não pode ser imposta em tabelas temporárias locais ou globais.

Exclusão de chave primária vs chave estrangeira

Um valor de chave primária não pode ser excluído da tabela pai, que é chamada de chave estrangeira na tabela filha. Você deve excluir a tabela filha primeiro antes de remover a tabela pai. Pelo contrário, um valor de chave estrangeira pode ser excluído da tabela filho, mesmo que o valor seja referido à chave primária da tabela pai.

Chave primária x chave estrangeira: gráfico de comparação

Resumo da chave primária versos Chave estrangeira

As chaves desempenham um papel crucial na existência do esquema do banco de dados para estabelecer links entre tabelas e dentro de uma tabela. As chaves estabelecem relacionamentos e aplicam diferentes tipos de integridade, especialmente a integridade no nível da tabela e no nível do relacionamento. Por um lado, eles garantem que a tabela contenha registros exclusivos e os campos que você usa para estabelecer um relacionamento entre tabelas devem conter valores correspondentes. Chave primária e chave estrangeira são os dois tipos mais importantes e comuns de chaves usadas em bancos de dados relacionais. Uma chave primária é uma chave especial usada para identificar exclusivamente registros em uma tabela, enquanto uma chave estrangeira é usada para estabelecer um relacionamento entre duas tabelas. Ambos são idênticos na estrutura, mas desempenham papéis diferentes no esquema do banco de dados relacional.