Diferença entre Chave Primária vs Chave Estrangeira
Bem a chave primária e a chave estrangeira são utilizadas nos sistemas de gestão de bases de dados relacionais (RDBMS), onde a chave primária é um campo unicamente identificado que pode ser utilizado como referência para relacionar as tabelas no sistema da base de dados. Por outro lado, a chave estrangeira não é um campo único, e é utilizada para se ligar à chave primária de alguma outra tabela dentro da mesma base de dados. Ao contrário de uma chave primária, um campo de chave estrangeira pode conter valores NULL.
Cabeça para Comparação entre Chave Primária vs Chave Estrangeira (Infográficos)
Below são as 6 principais diferenças entre Chave Primária vs Chave Estrangeira:
Inicie o seu Curso de Desenvolvimento de Software Livre
Desenvolvimento Web, linguagens de programação, Teste de software & outros
Primary-Key-vs-Foreign-Key-info
Diferenças de chaves entre Chave Primária vs Chave Estrangeira
Deixe-nos discutir algumas das principais diferenças de chaves entre Chave Primária vs Chave Estrangeira:
- A Chave Primária identifica os registos numa tabela de forma única, enquanto que a Chave Estrangeira é utilizada para ligar as tabelas, i.e., a Chave Primária de outra tabela.
- A coluna Chave Primária de uma tabela não pode ter valores Nulos e deve ter sempre valores únicos. Mas a Chave Estrangeira na tabela pode conter valores Nulos e também pode ter valores duplicados.
- Uma tabela pode ter apenas uma Chave Primária, enquanto que pode haver mais de uma Chave Estrangeira para uma tabela.
- O índice é criado automaticamente para a Chave Primária, enquanto que, para a Chave Estrangeira, os índices não são criados automaticamente.
- É fácil eliminar a restrição da Chave Estrangeira, embora se refira à Chave Primária. Mas a eliminação da restrição da Chave Primária pode criar registos com registos de crianças que não tenham registo parental.
Tabela de Comparação de Chave Primária vs Chave Estrangeira
A tabela abaixo resume as comparações entre Chave Primária vs Chave Estrangeira:
Chave Primária | Foreign Key |
A chave primária de uma tabela em RDBMS pode ser uma única coluna ou pode ser composta por mais de uma coluna, que é utilizado para identificar cada linha numa tabela de forma única. No caso da chave primária que consiste em mais de uma coluna, os dados de cada coluna são utilizados para decidir a singularidade de uma linha. Uma tabela em RDMBS pode ter apenas uma chave primária. | A chave externa pode ser uma única coluna ou pode consistir em mais de uma coluna numa tabela que é utilizada para se referir à chave primária de outra tabela. A Chave Estrangeira pode ser utilizada para ligar as tabelas em RDBMS. Ao contrário do atributo Chave Primária, uma tabela em RDBMS pode ter mais do que uma Chave Estrangeira. |
Existem poucas condições que devem ser satisfeitas para que uma coluna seja uma Chave Primária numa tabela. Uma das condições é que a Chave Primária deve conter um valor único para cada registo. Assim, uma tabela em RDBMS não pode ter valores duplicados para duas linhas para o atributo Chave Primária. | Embora a Chave Primária de uma tabela em RDBMS, a Chave Estrangeira pode conter valores duplicados. Isto permite ter valores duplicados para as linhas de uma tabela para o atributo Chave Estrangeira. |
A outra condição de uma coluna que satisfaz ser uma Chave Primária é que não deve conter valores Nulos. | Mas a Chave Estrangeira de uma tabela em RDBMS pode conter valores Nulos. |
É especificada uma Chave Primária ao definir a tabela, e é obrigatório definir a Chave Primária. | Não existe uma definição de tabela específica para denotar uma Chave a ser Chave Estrangeira. |
Não é possível eliminar a restrição da Chave Primária de uma Tabela de Pais com a Chave Estrangeira da Criança que a ela se refere. Portanto, a Tabela de Crianças precisa de ser eliminada primeiro antes de eliminar a Tabela de Pais. | Mas se precisarmos de eliminar a restrição da Chave Externa numa tabela, ela pode ser eliminada da Tabela de Crianças, mesmo que se refira à Chave Primária da Tabela de Pais. |
A Chave Primária é indexada automaticamente, ou seja, a Chave Primária é armazenada num índice para uma tabela, e este índice ajuda a administrar a exigência de unicidade, e por isso, os valores da Chave Estrangeira são facilmente referenciados aos valores da Chave Primária correspondentes. | Num caso de Chave Estrangeira, os índices não são criados automaticamente e normalmente; o Administrador da Base de Dados define-os. |
Conclusion
As Chaves Primárias e Estrangeiras não só implementam diferentes tipos de integridade como também criam relações entre tabelas. As chaves Primária e Estrangeira também asseguram que as colunas da relação devem conter valores correspondentes, e que são mantidos registos únicos na tabela. O Sistema de Gestão de Base de Dados Relacionais funciona eficientemente devido à presença da Chave Primária e da Chave Estrangeira.
A restrição da Chave Primária ajuda na aplicação automática da integridade dos dados, uma vez que impede a inserção ou actualização de uma linha duplicada de dados. A utilização das restrições da chave impede a eliminação da linha da tabela da chave primária da tabela dos pais, de modo a que não sejam criados registos de crianças para as quais não exista um registo parental. Além disso, quando uma linha em referência à chave primária é apagada ou actualizada na tabela pai, a integridade referencial é mantida pela chave estrangeira. As Chaves têm um papel vital no estabelecimento de ligações entre as tabelas da base de dados e também dentro da tabela.
Artigos Recomendados
Esta é uma guia para Chave Primária vs Chave Estrangeira. Aqui discutimos as diferenças entre Chave Primária vs Chave Estrangeira com infografias e tabela de comparação. Também pode consultar os nossos outros artigos sugeridos para saber mais –
- WebLogic vs WebSphere
- ROLAP vs MOLAP vs HOLAP
- SQL Keys
- Travis vs Jenkins