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
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
|
---|
|
Conceitos | |
---|
Objetos | |
---|
Componentes | |
---|
Funções | |
---|
|