Chave candidata

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

  • Modelo relacional (Banco de Dados)
  • Relação (Matemática)
  • Chave Primária
  • Chave Estrangeira
  • O Modelo Relacional - Macário, Carla; Baldo, Stefano;
  • v
  • d
  • e
Modelagem  · Normalização  · Estrutura de banco de dados  · GDBS distribuídos  · Integridade referencial  · Álgebra relacional  · Cálculo relacional  · Banco de dados relacional  · Mapeamento objeto-relacional  · Modelo relacional  · Banco de dados objeto-relacional  · Processamento de transação
Conceitos
Banco de dados  · ACID  · CRUD  · Null  · Chave candidata  · Chave estrangeira  · Chave primária  · Superkey  · Surrogate key  · Axiomas de Armstrong  · NoSQL
Objetos
Relação (Tabela)  · Vista  · Trigger  ·  · Cursor  · Log de transação  · Transação  · Índice  · Procedimento armazenado  · Partição
Componentes
Controle de concorrência  · Dicionário de dados  · JDBC  · ODBC  · Linguagem de consulta  · Query optimizer  · Query plan
Funções
Gestão e automatização  · Otimização de consulta  · Replicação
Produtos disponíveis no mercado: Orientados a objeto (Comparativo)  · Relacionais (Comparativo)  · Orientados a documento  · NoSQL  · NewSQL


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