Modelagem de Dados – Tipos de Chaves

Tipos de Chaves em Modelagem de Dados

Artigo complementar do Curso Completo de Modelagem de Dados da Bóson Treinamentos no YouTube.

Neste artigo vamos explorar um tópico de elevada importância em modelagem de dados: o conceito de chaves e seus tipos, com algumas dicas de como determinar chaves primárias e estrangeiras em uma tabela, e exemplos.

O que são Chaves em Bancos de Dados

Uma chave consiste em uma ou mais colunas combinadas de uma relação (tabela) cujos valores são usados para identificar de forma exclusiva uma linha ou um conjunto de linhas relacionadas.

Uma chave pode ser única, ou seja, identifica uma única linha em uma tabela, ou ainda não-única, permitindo identificar um conjunto de linhas (registros). A seguir listamos as chaves de acordo com essa classificação:

  • Chaves Únicas: Chave Candidata, Chave Composta, Chave Primária, Chave Surrogada (ou ChaveSubstituta), Chave Alternativa
  • Chave Não-Única (Non-Unique): Chave Estrangeira

Vamos detalhar um pouco mais cada tipo de chave a partir de agora.

Chave Candidata

  • Atributo ou grupo de atributos com o potencial para se tornarem uma chave primária.
  • Uma chave candidata que não seja usada como chave primária será conhecida como Chave Alternativa.

Exemplos: Os campos Num_Matrícula e CPF em uma tabela de registro de alunos são chaves candidatas, pois podem ser usados como chave primária.

Chave Primária

  • É achave candidata escolhida para ser a chave principal na relação.
  • A chave primária identifica de forma exclusiva os registros em uma tabela, não podendo haver repetição de valores nem tampouco valor nulo neste campo.
  • Em inglês Primary Key / PK

Podemos indicar uma chave primária em um modelo de dados com um #, por exemplo #Cod_Livro, ou ainda sublinhando o nome do campo, como Cod_Livro.

Chave Estrangeira

  • Uma chave estrangeira é uma coluna de uma tabela que estabelece um Relacionamento com a Chave Primária (PK) ou coluna unique de outra tabela relacionada.
  • É a partir da chave estrangeira (Inglês: Foreign key / FK) que sabemos com qual registro em uma tabela B um registro em uma tabela A está relacionado. Assim, por exemplo, é possível saber qual livro foi vendido, em um sistema de uma livraria, pois o campo Cod_Livro (chave primária em uma tabela de cadastro de livros) estará presente em uma tabela de registro de vendas como chave estrangeira, apontando para o registro do livro especificado.

Chave Composta

  • Trata-se de uma chave que é composta de dois ou mais atributos (colunas) combinados, formando uma combinação única, cujos valores nunca se repetem (mas podem se repetir isoladamente).
  • Uma chave composta geralmente é empregada quando não é possível utilizar uma única coluna de uma tabela para identificar de forma exclusiva seus registros.

Chave Surrogada ou Chave Substituta

  • Uma chave surrogada é um valor numérico, único, adicionado a uma relação para servir como chave primária, quando nenhuma chave candidata for identificada.
  • Não possui significado para os usuários e geralmente fica escondida nas aplicações.
  • As chaves substitutas são frequentemente usadas no lugar de uma chave primária composta, para simplificação dos relacionamentos.

Instruções para criação de chaves primárias e estrangeiras

Podemos seguir algumas recomendações simples para identificar e criar chaves primárias e chaves estrangeiras em uma tabela, como por eexmplo:

  • Não é possível haver valores duplicados em uma chave primária
  • No geral, não é possível alterar o valor de uma chave primária
  • Chaves estrangeiras são baseadas em valores de dados, classificadas como ponteiros lógicos
  • Um valor de uma chave estrangeira deve corresponder a um valor existente em uma chave primária associada (ou valor de chave única). Caso contrário, deve ser nulo (NULL)
  • Uma chave estrangeira deve referenciar uma chave primária ou uma coluna de chave única.

Exemplo de chave primária e chave estrangeira

No exemplo a seguir temos três tabelas relacionadas: tbl_Clientes, tbl_Vendas e tbl_Produtos. A tabela de vendas possui duas chaves estrangeiras, que a relacionam com as tabelas de clientes e de produtos, permitindo assim saber qual produto está incluído na venda, e para qual cliente esse produto foi vendido.

Relacionamento entre Chave Primária e Chave Estrangeira

O conceito de Domínio

  • O conceito de Domínio em bancos de dados nos permite definir os tipos de dados usados em cada campo de uma tabela ou relação.
  • Também permitem especificar valores que são válidos em um campo, de acordo com o tipo de dado e intervalo de valores possível para o tipo.

O conceito de domínio em modelagem de dados

Conclusão

O conceito de chaves e seus tipos é de crucial importância no desenvolvimento de bancos de dados, pois a partir da determinação do campos que serão chaves primárias e estrangeiras é que poderemos estabelecer os relacionamentos entre as tabelas, em um modelo relacional.

Próximo: Cardinalidades em Relacionamentos

Sobre Fábio dos Reis (1344 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*