Uma PK – Primary Key ou chave primária serve para identificar uma entidade ou seja, permitir que o objeto seja identificado de forma única. Para isso, quando um campo é marcado como PK o banco não permitirá que valores suplicados sejam gravados ali.
Já a FK – Foreign Key ou chave estrangeira serve para identificar um objeto que está sendo usado ou referenciado em outra tabela. Este é o princípio de banco de dados relacionais. Uma chave estrangeira só poderá ser estrangeira se ela for primária em outra tabela e a partir deste relacionamento o banco faz o gerenciamento, inclusive impedindo que uma chave primária seja alterada ou removida caso ela tenha referência com uma chave estrangeira.
PK: Os valores do atributo-chave podem ser utilizados para identificação das entidades, de forma única.
A chave primária é uma coluna (ou conjunto de colunas) cujos valores distinguem uma linha das outras em uma tabela qualquer. Chave primária composta é quando uma chave primária envolve vários campos. Nenhuma tabela pode apresentar mais de uma chave primária. A chave primária é um valor não-nulo e único (não se repetirá).
Fk:
é um atributo chamado quando há relacionamentos de 1: n (um para muitos) entre as entidades. Cada valor da FK terá um correspondente (de mesmo valor) em outra tabela com a qual está realizando o Relacionamento.
Resumindo:
PK é a chave primária que identifica uma linha em uma tabela, essa chave não admite valores repetidos portanto garante que cada registro na sua tabela seja único. Como valor de Chave Primária você pode tomar como exemplo o CPF das pessoas (obviamente não deve se deixar essa chave primária como campo opcional de preenchimento, mas sim, obrigatório). Não existe duas pessoas (registros) com o numero de CPF (PK) iguais.
Já a FK - chave estrangeira, serve para referenciar um campo de uma tabela que se encontra em outra tabela. Ela geralmente (praticamente obrigatóriamente) aparece em um relacionamento de um para muitos. Para simplificar podemos dizer que é um elo entre duas tabelas. Como exemplo uma tabela de Funcionários e uma tabela de Dependentes, um funcionário pode ter de 0 à muitos depententes, mas cada dependente pode constar para apenas um funcionário (pelo menos na Receita Federal é assim...).
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar