O que é chave primária, chave estrangeira e candidata?

Entenda os conceitos de restrições com o uso de chave primária, chave estrangeira e candidata no processo de modelagem e consistência de um banco de dados.

Home » Tecnologia

Chave primária, chave estrangeira e chave candidata são conceitos importantes na modelagem de dados, pois implementam restrições que garantirá ao futuro banco de dados a integridade dos dados.

Na análise de entidade e na identificação dos relacionamentos, teremos que definir as chaves que irão impor as restrições de integridade no banco de dados. Essas chaves serão vistas abaixo:

Chave primária

Atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Corresponde a um atributo determinante.

Cada tabela deve incluir um campo ou conjunto de campos que identifique de forma exclusiva, cada registro armazenado na tabela. Essas informações são chamadas de chave primária da tabela.

Desta forma, com a chave primária cria-se uma identificação única, o que dá total segurança para que aplicações possam acessar, alterar e excluir dados sem correr o risco de apagar ou alterar dois campos da tabela ao mesmo tempo.

Chave primária é um importante objeto quando se aplica regras de normalização de dados, muitas das formas normais são baseadas nas relações dos demais atributos com a chave primária da tabela.

Chave estrangeira

A chave estrangeira ocorre quando um atributo de uma relação for chave primária em outra relação. Em outras palavras sempre que houver o relacionamento 1:N entre duas tabelas, a tabela 1 receberá a chave primária e a tabela N receberá a chave estrangeira.

Vamos ver um exemplo:

Tabela Produtos 

- Codigo_produto

- Produto

- Categoria

- Preço Data

- Quantidade

- Descricao

Tabela Itens do Pedido

- Numero_pedido

- Codigo_produto

- Quantidade

Nas tabelas acima temos um caso de chaves primária e estrangeira.

Observe que o codigo_produto consta nas duas tabelas. Em Produtos ele é o campo identificador, ou seja, cada produto deverá ser exclusivo, portanto, uma chave primária. Já em Itens do Pedido o campo codigo_produto poderá constar várias vezes e como ele já é chave primária em Produtos, aqui ele será uma chave estrangeira.

Portanto as tabelas ficarão assim:

Tabela Produtos

- Codigo_produto (chave primária)

- Produto

- Categoria

- Preço Data

- Quantidade

- Descricao

Tabela Itens do Pedido

- Numero_pedido

- Codigo_produto (chave estrangeira)

- Quantidade

Veja abaixo um diagrama de banco de dados com várias tabelas relacionadas. Perceba a presença de chaves primárias, identificadas por PK (primary key) e as chaves estrangeiras, identificadas por FK (foreign key).

diagrama de banco de dados

Chaves Candidatas

Ocorrem quando em uma relação existe mais de uma combinação de atributos possuindo a propriedade de identificação única. A chave candidata é apenas conceitual, ou seja, ela não é implementada. O que acontece é que os atributos com essa características poderiam ser primária já que possuem por natureza a identificação única.

Alguns exemplos: Matrícula, CPF, RG, Titulo Eleitor, entre outros.

Algumas considerações:

  • Chaves primárias e estrangeiras são características de banco de dados relacionais, como o Oracle, SQL Server, MySQL, dentre outros.
  • Uma vez implementado a chave primária e estrangeira, o próprio sistema gerenciador de banco de dados garante a integridade referencial das tabelas. Com isto, caso você queira apagar ou modificar um dado que vá causar algum problema relacionado a essas chaves, o próprio sistema de banco de dados bloqueia e não deixa que a alteração seja feita.
  • Um exemplo simples é quando você quer excluir um registro onde existe uma chave primária. Caso esta chave tiver o seu correspondente (estrangeira) em outras tabelas, o banco não irá permitir que seja excluído.
  • O planejamento do banco de dados deve ser muito bem-feito, pois depois que ele estiver criado e já em funcionamento é bem mais complicado mexer na sua estrutura, especialmente se envolver as chaves criadas.
  • A recomendação é de se fazer uma boa modelagem de dados onde você pode visualizar todas as tabelas e as relações existente entre elas.
  • Essas relações podem ser relações que demandam tabelas intermediárias ou não. Na modelagem de dados existe o conceito de modelagem lógica, modelagem conceitual, modelagem física.

COMPARTILHE: Facebook Twitter WhatsApp




VEJA TAMBÉM:

 
QUER FAZER UMA FACULDADE GRATUITA? ESCOLHA UMA OPÇÃO:
© 2021 - Utilidade Pública: Tecnologia, Educação e Cidadania.
Este site usa cookies e ao continuar navegando, você concorda com a política de privacidade.