Recomendado, 2024

Escolha Do Editor

Diferença entre chave super e chave candidata

Chaves são os elementos essenciais de qualquer banco de dados relacional. Identifica cada tupla em uma relação de maneira única. As chaves também são usadas para estabelecer o relacionamento entre as tabelas em um esquema. Neste artigo, vamos discutir duas chaves básicas de qualquer banco de dados que é chave super chave e candidato. Cada chave candidata é uma superchave, mas cada superchave pode ou não ser uma chave candidata. Existem muitos outros fatores que distinguem entre chave-chave e chave-chave, que discuti brevemente no quadro de comparação abaixo.

Gráfico de comparação

Base para ComparaçãoSuper chaveChave candidata
BasicUm único atributo ou um conjunto de atributos que identifica exclusivamente todos os atributos em uma relação é super-chave.Um subconjunto apropriado de uma superchave, que também é uma superchave, é uma chave candidata.
Um no outroNão é obrigatório que todas as super chaves sejam chaves candidatas.Todas as chaves candidatas são super chaves.
SeleçãoO conjunto de super-chaves forma a base para a seleção de chaves candidatas.O conjunto de chaves candidatas formam a base para a seleção de uma única chave primária.
ContagemExistem comparativamente mais super chaves em uma relação.Existem comparativamente menos chaves candidatas em uma relação.

Definição de chave super

Uma superchave é uma chave básica de qualquer relação. É definido como uma chave que pode identificar todos os outros atributos em uma relação . Super-chave pode ser um único atributo ou um conjunto de atributos. Duas entidades não possuem os mesmos valores para os atributos que compõem uma superchave. Há pelo menos uma ou mais dessas super chaves em uma relação.

Uma superchave mínima também é chamada de chave candidata. Assim, podemos dizer que algumas das super chaves são verificadas por serem uma chave candidata. Veremos mais adiante como uma superkey é verificada para se tornar uma chave candidata.

Vamos tomar uma relação R (A, B, C, D, E, F); temos dependências seguintes para uma relação R, e checamos cada uma por ser super-chave.

Usando a chave, AB, somos capazes de identificar o resto dos atributos da tabela, ou seja, CDEF . Da mesma forma, usando as teclas CD, ABD, DF e DEF, podemos identificar os atributos remanescentes da tabela R. Portanto, todas essas são super teclas.

Mas usando uma chave CB, só podemos encontrar valores para o atributo D e F, não podemos encontrar o valor para os atributos A e E. Portanto, o CB não é uma superchave. Mesmo é o caso com a chave D, não podemos encontrar os valores de todos os atributos em uma tabela usando a chave D. Assim, D não é uma superchave.

Definição de Chave Candidata

Uma superchave que é um subconjunto apropriado de outra superchave da mesma relação é chamada de superchave mínima . A super-chave mínima é chamada de chave candidata . Como super-chave, uma chave candidata também identifica cada tupla em uma tabela de maneira única. O atributo de uma chave candidata pode aceitar o valor NULL .

Uma das chaves candidatas é escolhida como chave primária pelo DBA . Desde que os valores dos atributos-chave sejam exclusivos e não contenham NULL. Os atributos da chave Candidate são chamados de atributos principais .

No exemplo acima, encontramos as chaves Super para a relação R. Agora, vamos verificar todas as super chaves por ser a chave do candidato.

Super-chave AB é um subconjunto apropriado de super-chave ABD . Então, quando uma superchave mínima, AB, é capaz de identificar todos os atributos em uma tabela, então não precisamos de uma chave ABD maior. Portanto, a super-chave AB é uma chave candidata, enquanto a ABD será apenas super-chave.
Da mesma forma, um DF de super-chave também é um subconjunto apropriado de DEF super-chave. Então, quando o DF é o único capaz de identificar todos os atributos em uma relação, por que precisamos do DEF . Assim, o super-chave DF torna-se uma chave candidata, enquanto a DEF é apenas uma superchave.

O CD de super-chave não é um subconjunto adequado de qualquer outra super-chave. Então, podemos dizer que CD é uma super chave mínima que identifica todos os atributos em uma relação. Portanto, o CD é uma chave candidata.

Considerando que as chaves CB e D não são super chaves, elas não podem ser a chave candidata mesmo. Visualizando a tabela acima, você pode concluir que cada chave candidata é uma superchave, mas o inverso não é verdadeiro.

Principais diferenças entre chave super e chave candidata

  1. Um único atributo ou um conjunto de atributos que podem identificar exclusivamente todos os atributos de uma determinada relação é chamado Superchave. Por outro lado, uma superchave que é um subconjunto apropriado de outra superchave é chamada de chave candidata.
  2. Todas as chaves candidatas são super chaves, mas o inverso não é verdadeiro.
  3. O conjunto de super-chaves é verificado para encontrar as chaves candidatas, enquanto o conjunto das chaves candidatas é verificado para selecionar uma única chave primária.
  4. Super chaves são comparativamente mais numerosas que as chaves candidatas.

Conclusão:

Super chave é uma chave básica de qualquer relação. Eles devem ser plotados primeiro antes de reconhecer outras chaves para a relação, pois formam a base para outras chaves. A chave candidata é importante, pois ajuda a reconhecer a chave mais importante de qualquer relação que seja uma chave primária.

Top