ti-enxame.com

Diferença entre chave primária, chave única e chave candidata

Qual é a diferença entre chave primária, chave única e chave candidata?

16
Ram

A chave candidata é uma chave mínima (ou seja, irredutível), a chave única é um pleonasmo e a chave primária é um conceito obsoleto que ainda sobrevive desde os dias em que as pessoas pensavam ser possível que uma chave fosse "mais exclusiva" do que qualquer uma das outras.

11
Erwin Smout

Superchave é o conjunto de uma ou mais colunas (ou seja, atributos) que identifica exclusivamente um registro.

A chave candidata é uma chave Super mínima (significa que não podemos remover nenhum atributo dela, caso contrário, ela não permanecerá mais como Superkey).

Chave primária é uma chave de candidato selecionada arbitrariamente. Deve haver apenas e apenas uma chave primária. Podemos escolher qualquer chave candidata como chave primária. Outras chaves candidatas que não são escolhidas como Primárias são chamadas de Chaves Alternativas.

Se a chave primária tiver mais de uma coluna (ou atributos), ela é chamada de chave composta.

15
saurabh kimothi

Chaves candidatas - É uma coluna que pode identificar exclusivamente todas as colunas para uma linha ou instância específica de sua tabela de banco de dados. Seu passaporte é um bom exemplo de chave de candidato e, ao usar esse ID, você pode recuperar o nome de uma pessoa, sobrenome e outros detalhes relacionados a essa pessoa específica.

Chave primária - pode haver algumas chaves candidatas em uma tabela de banco de dados específica que é única e pode ser usada para identificar uma instância específica em uma tabela, por exemplo, Número de registro do veículo, número do chassi, número de série do motor, etc ... mas lembre-se de que só pode haver uma chave candidata que será usada como chave primária. Diferença entre chave candidata vs chave primária: -) Ambas as chaves primária e candidata podem identificar exclusivamente registros em uma tabela no banco de dados.

2) As chaves primária e candidata têm restrições UNIQUE e NOT NULL.

3) A chave primária ou as chaves candidatas podem ser uma única coluna ou combinação de várias colunas em uma tabela.

4
Arunashis Paul
3
Alex Reitbort

Chave do candidato - Uma chave do candidato pode ser qualquer coluna ou uma combinação de colunas que pode ser qualificada como chave exclusiva no banco de dados. Pode haver várias Chaves Candidatas em uma tabela. Cada chave candidata pode ser qualificada como chave primária.

Chave primária - Uma chave primária é uma coluna ou uma combinação de colunas que identificam exclusivamente um registro. Apenas uma chave candidata pode ser chave primária. É preciso ter muito cuidado ao selecionar a chave primária, pois uma seleção incorreta pode afetar adversamente o arquiteto de banco de dados e a normalização futura. Para que uma chave candidata se qualifique como chave primária, ela deve ser não nula e exclusiva em qualquer domínio. Tenho observado com frequência que as Chaves Primárias raramente são alteradas. Gostaria de receber seus comentários sobre não alterar uma chave primária.

Para mais artigos

3
gngolakia

Uma chave composta é uma chave primária que possui mais de 1 coluna. Por exemplo, considere a relação de muitos para muitos entre aluno e cursos. Aqui precisamos de outra tabela, digamos os cursos dos alunos.

Esta tabela de studentcourses terá student_id e course_id como suas colunas. Isso formará sua chave composta.

A chave candidata é um conjunto de colunas que podem identificar exclusivamente os valores em uma tabela e atuar como uma chave exclusiva. Uma dessas chaves candidatas se tornará a chave primária e as demais se tornarão chaves alternativas.

A chave única, como o nome sugere, é usada para identificar exclusivamente um valor em uma tabela. Por exemplo Emp_id etc. Cada chave candidata atuará como uma chave única. A chave única nunca pode ser um valor NULL.

2
user1212

Uma vez que todas as respostas estão faltando uma representação física e algumas delas estão incompletas. Então aqui está a diferença por representação gráfica

enter image description here


Explicação

Superchave

Superchave é um conjunto de uma ou mais chaves que podem ser usadas para identificar um registro exclusivamente em uma tabela.

Exemplo : Chave primária, chave única, chave alternativa são subconjuntos de chaves super.

Chave do candidato

Uma chave candidata é um conjunto de um ou mais campos/colunas que podem identificar um registro exclusivamente em uma tabela. Pode haver várias Chaves Candidatas em uma tabela. Cada chave candidata pode funcionar como chave primária.

Exemplo : No diagrama acima ID, RollNo e EnrollNo são Chaves Candidatas uma vez que todos esses três campos podem funcionar como chave primária.

Chave primária

A chave primária é um conjunto de um ou mais campos/colunas de uma tabela que identifica exclusivamente um registro na tabela do banco de dados. Não pode aceitar valores nulos duplicados. Apenas uma chave candidata pode ser chave primária.

Chave alternativa

Uma chave alternativa é uma chave que pode funcionar como chave primária. Basicamente, é uma chave candidata que atualmente não é uma chave primária.

Exemplo : No diagrama acima, RollNo e EnrollNo tornam-se Chaves Alternativas quando definimos ID como Primário Chave.

Chave composta/composta

Chave composta é uma combinação de mais de um campo/coluna de uma tabela. Pode ser uma chave de candidato, chave primária.

Chave única

Uniquekey é um conjunto de um ou mais campos/colunas de uma tabela que identifica exclusivamente um registro na tabela do banco de dados. É como a chave primária, mas pode aceitar apenas um valor nulo e não pode ter valores duplicados. Para obter mais ajuda, consulte o artigo Diferença entre a chave primária e a chave única .

Chave estrangeira

Chave estrangeira é um campo na tabela do banco de dados que é a chave primária em outra tabela. Ele pode aceitar vários valores nulos duplicados. Para obter mais ajuda, consulte o artigo Diferença entre chave primária e chave estrangeira .

Exemplo : Podemos ter uma coluna DeptID na tabela Employee que está apontando para a coluna DeptID em uma tabela de departamento onde é uma chave primária.

fonte

1
Manoz