7 tipos de chaves no DBMS explicados

Publicados: 2021-03-12

Índice

Quais são as chaves no SGBD?

Uma chave em DBMS é um atributo ou um conjunto de atributos que ajudam a identificar exclusivamente uma tupla (ou linha) em uma relação (ou tabela). As chaves também são usadas para estabelecer relacionamentos entre as diferentes tabelas e colunas de um banco de dados relacional. Valores individuais em uma chave são chamados de valores de chave.

Este blog cobrirá tudo o que você precisa saber sobre as chaves no DBMS e o fechamento de atributos para encontre a chave de qualquer relação (tabela). Fique até o final do artigo para algumas questões críticas do GATE sobre chaves no DBMS.

Por que as chaves são necessárias?

Uma chave é usada nas definições de vários tipos de restrições de integridade. Uma tabela em um banco de dados representa uma coleção de registros ou eventos para uma determinada relação. Agora pode haver milhares e milhares desses registros, alguns dos quais podem ser duplicados.

Deve haver uma maneira de identificar cada registro separadamente e exclusivamente, ou seja, sem duplicatas. As chaves nos permitem ficar livres desse incômodo.

Tomemos um exemplo real do banco de dados de cada aluno que estuda em uma faculdade de engenharia.

Que atributo do aluno você acha que identificará de forma única cada um deles? Você pode se referir a um aluno usando seu nome, departamento, ano e seção. Ou você pode mencionar apenas o número do registro universitário do aluno e obter todos os outros detalhes a partir disso.

Uma chave pode ser uma combinação de mais de um atributo (ou colunas) ou apenas um único atributo. O principal motivo disso é dar a cada disco uma identidade única .

Leia também: DBMS vs RDBMS

Tipos de Chaves em DBMS

Existem basicamente sete tipos de chaves no DBMS:

  1. Chave primária
  2. Chave candidata
  3. Super chave
  4. Chave estrangeira
  5. Chave composta
  6. Chave alternativa
  7. Chave única

Vejamos cada um deles separadamente.

1. Chave Primária

Uma chave primária é uma coluna de uma tabela ou um conjunto de colunas que ajuda a identificar exclusivamente cada registro presente nessa tabela. Só pode haver uma chave primária em uma tabela. Além disso, a chave primária não pode ter os mesmos valores repetidos para qualquer linha. Cada valor da chave primária deve ser diferente, sem repetições.

A restrição PRIMARY KEY (PK) colocada em uma coluna ou conjunto de colunas não permitirá que eles tenham valores nulos ou duplicados. Uma tabela pode ter apenas uma restrição de chave primária. Qualquer valor na chave primária não pode ser alterado por nenhuma chave estrangeira (explicada abaixo) que se refira a ela.

2. Superchave

Super Key é o conjunto de todas as chaves que ajudam a identificar as linhas em uma tabela de forma exclusiva. Isso significa que todas as colunas de uma tabela que são capazes de identificar exclusivamente as outras colunas dessa tabela serão consideradas superchaves.

Super Key é o superconjunto de uma chave candidata (explicada abaixo). A Chave Primária de uma tabela é escolhida do conjunto de superchaves para se tornar o atributo de identidade da tabela.

3. Chave do Candidato

As chaves candidatas são os atributos que identificam exclusivamente as linhas de uma tabela. A Chave Primária de uma tabela é selecionada de uma das chaves candidatas. Portanto, as chaves candidatas têm as mesmas propriedades das chaves primárias explicadas acima. Pode haver mais de uma chave candidata em uma tabela.

4. Chave Alternativa

Conforme declarado acima, uma tabela pode ter várias opções para uma chave primária; no entanto, ele pode escolher apenas um. Assim, todas as chaves que não se tornaram a chave primária são chamadas de chaves alternativas.

5. Chave Estrangeira

Chave estrangeira é usada para estabelecer relacionamentos entre duas tabelas. Uma chave estrangeira exigirá que cada valor em uma coluna ou conjunto de colunas corresponda à Chave Primária da tabela referencial. As chaves estrangeiras ajudam a manter os dados e a integridade referencial.

6. Chave composta

Chave composta é um conjunto de dois ou mais atributos que ajudam a identificar cada tupla em uma tabela de forma exclusiva. Os atributos no conjunto podem não ser únicos quando considerados separadamente. No entanto, quando tomados em conjunto, eles garantirão a singularidade.

7. Chave única

Chave Única é uma coluna ou conjunto de colunas que identificam exclusivamente cada registro em uma tabela. Todos os valores terão que ser únicos nesta Chave. Uma chave exclusiva difere de uma chave primária porque pode ter apenas um valor nulo, enquanto uma chave primária não pode ter nenhum valor nulo.

Dependências Funcionais

Agora que conhecemos um tipo diferente de chaves no DBMS, vamos ver como identificá-las quando receber uma tabela de um banco de dados. Para isso, utilizamos o conceito de dependências funcionais.

Uma dependência funcional (FD) é uma restrição entre dois conjuntos de atributos. Essa restrição é para quaisquer duas tuplas t1 e t2 em r se t1[X] = t2[X], então elas têm t1[Y] = t2[Y]. Isso significa que o valor do componente X de uma tupla determina exclusivamente o valor do componente Y.

FD é denotado como X ? Y (isto é lido como “Y é funcionalmente dependente de X”). O lado esquerdo é chamado de determinante e o lado direito é chamado de dependente.

Fechamento de um conjunto de atributos

Um fechamento é um conjunto de todos os FDs possíveis derivados de um determinado conjunto de FDs. Também é referido como um conjunto completo de FDs. Se F é usado para doar o conjunto de FDs para a relação R, então o fechamento de um conjunto de FDs implicado por F é denotado por F+ .

Vamos agora definir o fechamento de um conjunto de atributos relativos a um determinado conjunto de FDs. Isso ajudará a identificar a superchave do relacionamento e descobrir se um FD pode ser inferido a partir de um determinado conjunto de FDs ou se um FD é redundante. Após encontrar um conjunto de dependências funcionais em uma relação, o próximo passo é encontrar a Super Chave para aquela relação (tabela).

Em seguida, descobrimos o fechamento do conjunto de atributos para decidir se um atributo (ou conjunto de atributos) de qualquer tabela é uma chave para essa tabela ou não. O conjunto de atributos que são funcionalmente dependentes do atributo X é chamado de Fechamento de Atributo de X e pode ser representado como X+.

Abaixo estão algumas regras necessárias para determinar F+:

  1. Reflexividade: Se X é um superconjunto de Y ou Y é um subconjunto de X, então X ? Y.
  2. Aumento: Se X ? Y, então XZ? YZ. Ou Se Z ⊆W, e X ? Y, então XW? YZ.
  3. Transitividade: Se X ? Y e Y? Z, então X? Z.
  4. União: Se X ? Y e X? Z, então X? YZ.
  5. Decomposição: Se X ? YZ, então X? Y e X? Z.
  6. Pseudo-Transitividade: Se X ? Y e YW? Z, então XW? Z.

Como encontrar Chaves Candidatas e Super Chaves usando o Attribute Closure?

  • Se o fechamento de atributo de um conjunto de atributos contiver todos os atributos da relação, o conjunto de atributos será a superchave da relação.
  • Se nenhum subconjunto desse conjunto de atributos puder determinar funcionalmente todos os atributos da relação, esse conjunto será a chave candidata.

Vamos discutir algumas perguntas GATE feitas anteriormente para ver as aplicações do fechamento de atributo.

PORTA 2014

Considere o esquema de relação R = {E, F, G, H, I, J, K, L, M, N} e o conjunto de dependências funcionais {{E, F} ? {G}, {F}? {I, J}, {E, H}? {K, L}, K? {M}, L? {N} em R. Qual é a chave para R?

(A) {E, F}

(B) {E, F, H}

(C) {E, F, H, K, L}

(D) {E}

Abordagem: Vamos verificar o fechamento do atributo de todas as opções fornecidas. O conjunto cujo fechamento nos dará toda a relação R será a resposta correta.

A: {E, F} + = {EFGIJ} ≠ R

B: {E, F, H} + = {EFGHIJKLMN} = R

C: {E, F, H, K, L} + = {EFGHIJKLMN} = R

D: {E} + = {E} ≠ R

Ambas as opções B e C nos dão todo o esquema de relação. No entanto, escolhemos a opção mínima para ser a resposta correta porque uma Chave Candidata deve ser a Super Chave mínima .

Responda: B

PORTA 2013

A relação R tem oito atributos ABCDEFGH. Os campos de R contêm apenas valores atômicos. F = {CH? G, A? BC, B? CFH, E ? A, F? EG} é um conjunto de dependências funcionais (FDs) de modo que F+ é exatamente o conjunto de FDs que vale para R.

Quantas chaves candidatas a relação R tem?

(A) 3

(B) 4

(C) 5

(D) 6

Abordagem: Pegaremos o LHS de cada dependência funcional dada na questão e encontraremos seus fechamentos de atributos.

CH+ = G

A+ = ABCEFGH

B+ = ABCEFGH

E+ = ABCEFGH

F+ = ABCEFGH

Assim, vemos que os fechamentos de A, B, E, F têm todo o relacionamento, exceto o atributo D. Portanto, há um total de 4 chaves candidatas AD, BD, ED e FD.

Resposta: B

Aprenda cursos de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Conclusão

Chaves e dependências funcionais desempenham um papel muito importante no design de um banco de dados. Esses conceitos também ajudam a encontrar a diferença entre um design de banco de dados bom e ruim. O processo final de remover redundâncias e tornar o banco de dados eficiente é a normalização , que utiliza todos os conceitos mencionados neste artigo.

Se você estiver interessado em aprender mais sobre desenvolvimento full-stack, confira o Programa PG Executivo do upGrad & IIIT-B em Desenvolvimento de Software Full-stack, que é projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos, e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Quais são os diferentes tipos de chaves no DBMS?

Existem vários tipos de chaves usadas em um banco de dados. A chave primária é usada para identificar uma linha específica em uma tabela. A chave exclusiva é usada para garantir que haja apenas uma entrada em uma tabela específica. Uma chave estrangeira é usada para vincular entradas de uma tabela a outra. Uma chave composta é uma coleção de várias colunas em uma tabela que, juntas, são usadas para identificar uma linha. Essas chaves ajudam você a identificar uma coluna específica de uma linha de uma tabela com precisão e exclusividade. Portanto, é muito importante usar as colunas precisas como uma chave de acordo com seu caso de uso.

O que é uma chave estrangeira no DBMS?

Chave estrangeira é uma coluna ou um conjunto de colunas que é usado para vincular as linhas de uma tabela às linhas de outra tabela. É usado para evitar inconsistência de dados. No DBMS, a chave estrangeira é implementada usando uma única coluna ou um conjunto de colunas (coluna lógica) e o DBMS verifica se os valores nessas colunas correspondem aos valores nas colunas referenciadas (chave primária). Por exemplo, digamos que a tabela A e a tabela B tenham uma coluna chamada coluna A. Você pode dizer que a coluna A na tabela A é referencial à coluna A na tabela B. Isso pode ser imaginado como uma seta com um valor de chave estrangeira apontando para a tabela de destino.

O que é uma chave composta no DBMS?

A chave composta é uma superchave. É uma combinação de uma ou mais colunas. Ele permite que uma única chave seja construída a partir de uma combinação de diferentes colunas. Também é chamado de identificador composto, chave composta ou chave composta. Resumindo, você pode usar um conjunto de colunas para identificar uma linha exclusiva em sua tabela, caso não tenha uma única coluna que possa identificar uma linha exclusivamente. Nesse caso, o conjunto de todas as colunas que você usará será considerado uma chave composta. Portanto, pode-se dizer com razão que de uma chave primária ter mais de uma coluna, ela é renomeada como chave composta.