Recomendado, 2024

Escolha Do Editor

Diferença entre chave primária e candidata

Chaves são o atributo ou um conjunto de atributos que são usados ​​para acessar as tuplas de uma tabela ou também são usados ​​para construir um relacionamento entre duas tabelas. Neste artigo, vamos discutir a Chave Primária e Candidata e as diferenças entre elas. A Chave Primária e Candidata identifica exclusivamente uma tupla em uma relação ou tabela. Mas, o ponto mais importante que os diferencia é que pode haver apenas uma chave primária em uma relação. No entanto, pode haver mais de uma chave candidata em uma relação.

Há mais algumas diferenças entre a Chave Primária e a Chave Candidata, as quais discutirei com a ajuda da tabela comparativa mostrada abaixo.

Gráfico de comparação

Base para ComparaçãoChave primáriaChave candidata
BasicPode haver apenas uma chave primária em qualquer relação.Pode haver mais de uma chave candidata em uma relação.
NULONenhum atributo de uma chave primária pode conter o valor NULL.O atributo de uma chave Candidate pode ter um valor NULL.
EspecificamosÉ opcional especificar uma chave primária para qualquer relação.Não pode haver uma relação sem a chave candidata especificada.
CaracterísticaChave primária descreve o atributo mais importante para a relação.Chaves candidatas apresentam candidatos que podem se qualificar para a Chave Primária.
Vice-versaUma chave primária é uma chave candidata.Mas não é obrigatório que cada chave candidata possa ser uma chave primária.

Definição da chave primária

Chave Primária é um atributo ou um conjunto de atributos que identifica exclusivamente cada tupla em uma relação. Pode haver apenas uma chave primária para cada relação. Deve ser tomado cuidado para que uma chave primária nunca contenha um valor NULL, e deve ter o valor único para cada tupla na relação. Os valores do atributo / s da chave primária devem ser estáticos, ou seja, o valor do atributo nunca deve ou raramente é alterado.

Uma das Chaves Candidatas é qualificada para se tornar uma chave primária. As regras que uma chave candidata deve qualificar para se tornar primária são que o valor da chave nunca deve ser NULL e deve ser exclusivo para todas as tuplas.

Se uma relação contiver um atributo que é uma chave primária de alguma outra relação, então esse atributo é chamado de chave estrangeira .

É aconselhável descobrir a chave primária de uma relação antes de introduzir outros atributos de uma relação, já que a chave primária identifica cada tupla de maneira única. É melhor escolher um único atributo ou um pequeno número de atributos como chave primária para facilitar o manuseio de relações.

Agora vamos ver um exemplo de uma chave primária.

 Aluno {ID, First_name, Last_name, Idade, Endereço} 

Aqui vamos primeiro descobrir as chaves do candidato. Eu descobri duas chaves candidatas {ID} e {First_name, Last_name}, pois elas identificam de forma única cada aluno na relação de Aluno. Agora, aqui escolherei ID como minha chave primária porque às vezes pode acontecer que dois alunos tenham o mesmo nome e sobrenome, então será fácil rastrear um aluno com seu ID .

Definição de Chave Candidata

Uma chave candidata é um atributo ou um conjunto de atributos que define exclusivamente uma tupla em uma relação. Há mais de uma chave candidata em uma relação. Essas chaves candidatas são os candidatos que podem se qualificar para se tornar uma chave primária.

Embora cada chave candidata se qualifique para se tornar uma chave primária, apenas uma pode ser escolhida como chave primária. As regras que uma chave candidata requer para se tornar a chave primária são o valor do atributo da chave nunca pode ser NULL em qualquer domínio da chave, deve ser único e estático .

Se todas as chaves candidatas estiverem se qualificando para a chave primária, um DBA experiente deverá tomar a decisão de descobrir a chave primária. Nunca pode haver uma relação sem chave de candidato.

Vamos entender a chave do candidato com um exemplo. Se adicionarmos mais alguns atributos à relação de estudantes, discuti acima.

 Aluno {ID, First_name, Last_name, Idade, Endereço, DOB, Department_name} 

Aqui eu posso descobrir duas chaves candidatas que são {ID}, {First_name, Last_name, DOB} . Assim, você pode entender que as chaves candidatas são aquelas que identificam exclusivamente uma tupla em uma relação.

Principais diferenças entre chave primária e candidata

  1. O ponto básico que diferencia a chave primária da chave candidata é que pode haver apenas um primário para qualquer relação em um esquema. No entanto, pode haver várias chaves candidatas para uma única relação.
  2. O atributo sob chave primária nunca pode conter um valor NULL, pois a função principal da chave primária é identificar exclusivamente um registro em relação. Mesmo uma chave primária pode ser usada como chave estrangeira em outra relação e, portanto, não deve ser NULL para que a relação de referência possa encontrar as tuplas em uma relação referenciada. A chave candidata pode ser NULL, a menos que a restrição de atributo seja especificada, não nula.
  3. É opcional especificar uma chave primária, mas não pode haver uma relação sem as chaves candidatas.
  4. A chave primária descreve o atributo único e mais importante de uma relação, enquanto as chaves candidatas fornecem os candidatos, dentre os quais um pode ser selecionado como uma chave primária.
  5. Cada chave primária é uma chave candidata, mas vice-versa não é verdadeira.

Conclusão:

É opcional para uma relação especificar uma chave primária. Por outro lado, se você está declarando uma relação, as chaves candidatas devem estar presentes nessa relação para construir uma boa relação.

Top