Diferença entre chave estrangeira e chave primária
Chave estrangeira versus chave primária
Uma coluna ou um conjunto de colunas, que pode ser usado para identificar ou acessar uma linha ou um conjunto de linhas em um banco de dados é chamado de chave. Uma chave primária em um banco de dados relacional é uma combinação de colunas em uma tabela que identifica de maneira exclusiva uma linha da tabela. A chave estrangeira em um banco de dados relacional é um campo em uma tabela que corresponde à chave primária de outra tabela. A chave estrangeira é usada para cruzar tabelas de referência.
O que é chave primária?
chave primária é uma coluna ou uma combinação de colunas que define de forma exclusiva uma linha em uma tabela de um banco de dados relacional. Uma tabela pode ter no máximo uma chave primária. A chave primária impõe a restrição implícita NOT NULL. Portanto, uma coluna que é definida como a chave primária não pode ter valores NULL nele. A chave primária pode ser um atributo normal na tabela que é garantida como única, como um número de segurança social ou pode ser um valor exclusivo gerado pelo sistema de gerenciamento de banco de dados, como um identificador exclusivo global (GUID) no Microsoft SQL Server. As chaves primárias são definidas através da restrição PRIMARY KEY no ANSI SQL Standard. A chave primária também pode ser definida ao criar a tabela. O SQL permite que a chave primária seja composta por uma ou mais colunas e cada coluna incluída na chave primária está definida de forma implícita como NOT NULL. Mas alguns sistemas de gerenciamento de banco de dados exigem que as colunas das chaves primárias sejam explicitamente NÃO NULL.
O que é Foreign Key?
Chave externa é uma restrição referencial entre duas tabelas. Ele identifica uma coluna ou um conjunto de colunas em uma tabela, denominada tabela de referência que se refere a um conjunto de colunas em outra tabela, denominada tabela referenciada. A chave estrangeira ou as colunas na tabela de referência devem ser a chave primária ou uma chave candidata (uma chave que pode ser usada como a chave primária) na tabela referenciada. As chaves estrangeiras são usadas para vincular dados em várias tabelas. Portanto, a chave estrangeira não pode conter valores que não aparecem na tabela a que se refere. Em seguida, a referência fornecida pela chave estrangeira pode ser usada para vincular informações em várias tabelas e isso se tornaria essencial com bancos de dados normalizados. Várias linhas na tabela de referência podem se referir a uma única linha na tabela referenciada. No padrão ANSI SQL, as chaves estrangeiras são definidas usando a restrição FOREIGN KEY. Além disso, as chaves estrangeiras podem ser definidas ao criar a própria tabela. Uma tabela pode ter várias chaves estrangeiras e eles podem fazer referência a diferentes tabelas.
Qual a diferença entre a chave Estrangeira e a chave primária?
A diferença principal entre a chave primária e a chave estrangeira é que a chave primária é uma coluna ou um conjunto de colunas que podem ser usadas para identificar de maneira exclusiva uma linha em uma tabela enquanto a chave externa é uma coluna ou um conjunto de colunas que se referem a uma chave primária ou a uma chave candidata de outra tabela.A chave estrangeira fornece principalmente um método para vincular informações em várias tabelas. Outra diferença é que uma tabela pode ter uma única chave primária, mas pode ter várias chaves estrangeiras que podem fazer referência a diferentes tabelas.