Uma chave candidata é um identificador único dentro de uma relação que garante que nenhuma tupla será duplicada. Vale ressaltar que uma chave candidata não necessariamente é uma chave primária: uma tupla pode ter várias chaves candidatas mas só uma chave primária. Nesse quesito, uma tupla de usuário onde existem os campos "ID","RG" e "CPF" tem uma chava primária (ID) e três chaves candidatas. Uma chave candidata pode ser formada por vários atributos.[1]

Chaves candidatas ocorrem quando em uma relação existe mais de uma combinação de atributos para a identificação única do registro.

Exemplo editar

Matrícula, CPF, RG, Título Eleitor

Leve em consideração a seguinte regra de negócio:

Para cada pedido pode existir um número infinito de itens, contudo o item não pode se repetir na lista de itens de um pedido. Caso haja mais de um item igual, a quantidade do mesmo deve ser alterada.

Agora considere o esquema abaixo:

  • pedidos(codPedido, valorTotal) PK - codPedido
  • itensPedido(codPedido, codItem, quant, valorUnit, codigoBarras) PK - codItem

Perceba que, na relação itensPedido, teremos:

  • codPedido: Chave estrangeira, irá se repetir;
  • codItem: Chave Primária, não irá se repetir;
  • codigoBarras: Chave candidata, pois também não deverá se repetir;
codPedido codItem quant valorUnit codigoBarras
1 1 2 2,50 123
1 2 3 4,20 321
1 3 3 1,50 567

Ver também editar


  Este artigo sobre banco de dados é um esboço. Você pode ajudar a Wikipédia expandindo-o.
  1. Macário, Baldo, Carla, Stefano. «O Modelo Relacional» (PDF). Consultado em 29 de outubro de 2019