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.
Chaves candidatas ocorrem quando em uma relação existe mais de uma combinação de atributos para a identificação única do registro.
Exemplo 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 valorUnitcodigoBarras1 1 2 2,501231 2 3 4,20321 1 3 3 1,50567
Ver também Modelo relacional (Banco de Dados) Relação (Matemática) Chave Primária Chave Estrangeira O Modelo Relacional - Macário, Carla; Baldo, Stefano;
Categoria:Sistemas de gerenciamento de banco de dados Categoria:Bancos de dados