- As chaves desempenham um papel importante no banco de dados relacional.
- É usado para identificar exclusivamente qualquer registro ou linha de dados da tabela. Também é usado para estabelecer e identificar relacionamentos entre tabelas.
Por exemplo, ID é usado como chave na tabela Aluno porque é exclusivo para cada aluno. Na tabela PERSON, número_passaporte, número_licença e SSN são chaves, pois são exclusivos para cada pessoa.
Tipos de chaves:
1. Chave primária
- É a primeira chave usada para identificar exclusivamente uma e apenas uma instância de uma entidade. Uma entidade pode conter múltiplas chaves, como vimos na tabela PERSON. A chave mais adequada nessas listas torna-se uma chave primária.
- Na tabela EMPLOYEE, ID pode ser a chave primária, pois é exclusiva para cada funcionário. Na tabela EMPLOYEE, podemos até selecionar License_Number e Passport_Number como chaves primárias, pois também são exclusivas.
- Para cada entidade, a seleção da chave primária é baseada nos requisitos e nos desenvolvedores.
2. Chave do candidato
- Uma chave candidata é um atributo ou conjunto de atributos que pode identificar exclusivamente uma tupla.
- Exceto a chave primária, os demais atributos são considerados chaves candidatas. As chaves candidatas são tão fortes quanto a chave primária.
Por exemplo: Na tabela EMPLOYEE, id é mais adequado para a chave primária. O restante dos atributos, como SSN, Passport_Number, License_Number, etc., são considerados chaves candidatas.
3. Superchave
Superchave é um conjunto de atributos que pode identificar exclusivamente uma tupla. Uma superchave é um superconjunto de uma chave candidata.
Por exemplo: Na tabela EMPLOYEE acima, para (EMPLOEE_ID, EMPLOYEE_NAME), o nome de dois funcionários pode ser o mesmo, mas seu EMPLYEE_ID não pode ser o mesmo. Portanto, essa combinação também pode ser uma chave.
A superchave seria EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME), etc.
4. Chave estrangeira
- Chaves estrangeiras são a coluna da tabela usada para apontar para a chave primária de outra tabela.
- Cada funcionário trabalha em um departamento específico de uma empresa, e funcionário e departamento são duas entidades diferentes. Portanto não podemos armazenar as informações do departamento na tabela de funcionários. É por isso que vinculamos essas duas tabelas por meio da chave primária de uma tabela.
- Adicionamos a chave primária da tabela DEPARTMENT, Department_Id, como um novo atributo na tabela EMPLOYEE.
- Na tabela EMPLOYEE, Department_Id é a chave estrangeira e ambas as tabelas estão relacionadas.
5. Chave alternativa
Pode haver um ou mais atributos ou uma combinação de atributos que identificam exclusivamente cada tupla em uma relação. Esses atributos ou combinações de atributos são chamados de chaves candidatas. Uma chave é escolhida como chave primária dentre essas chaves candidatas, e a chave candidata restante, se existir, é chamada de chave alternativa. Em outras palavras, o número total de chaves alternativas é o número total de chaves candidatas menos a chave primária. A chave alternativa pode ou não existir. Se houver apenas uma chave candidata em uma relação, ela não possui uma chave alternativa.
Por exemplo, A relação de funcionário possui dois atributos, Employee_Id e PAN_No, que atuam como chaves candidatas. Nesta relação, Employee_Id é escolhido como chave primária, portanto a outra chave candidata, PAN_No, atua como chave Alternativa.
string de acréscimo java
6. Chave composta
Sempre que uma chave primária consiste em mais de um atributo, ela é conhecida como chave composta. Essa chave também é conhecida como Chave Concatenada.
Por exemplo, nas relações com funcionários, presumimos que um funcionário pode receber diversas funções e que um funcionário pode trabalhar em vários projetos simultaneamente. Portanto, a chave primária será composta por todos os três atributos, nomeadamente Emp_ID, Emp_role e Proj_ID em combinação. Portanto, esses atributos atuam como uma chave composta, uma vez que a chave primária compreende mais de um atributo.
7. Chave artificial
As chaves criadas usando dados atribuídos arbitrariamente são conhecidas como chaves artificiais. Essas chaves são criadas quando uma chave primária é grande e complexa e não tem relacionamento com muitas outras relações. Os valores dos dados das chaves artificiais são geralmente numerados em ordem serial.
Por exemplo, a chave primária, composta por Emp_ID, Emp_role e Proj_ID, é grande nas relações com funcionários. Portanto, seria melhor adicionar um novo atributo virtual para identificar cada tupla na relação de forma única.