O que são chaves no DBMS?
KEYS no DBMS é um atributo ou conjunto de atributos que ajuda você a identificar uma linha (tupla) em uma relação (tabela). Eles permitem que você encontre a relação entre duas tabelas. As teclas ajudam a identificar de forma única uma linha em uma tabela por uma combinação de uma ou mais colunas dessa tabela. A chave também é útil para localizar um registro ou linha exclusiva da tabela. A chave do banco de dados também é útil para localizar registros ou linhas exclusivas da tabela.
Exemplo:
ID do Empregado | Primeiro nome | Sobrenome |
11 | Andrew | Johnson |
22 | Tom | Madeira |
33 | Alex | Hale |
No exemplo fornecido acima, o ID do funcionário é uma chave primária porque identifica exclusivamente um registro do funcionário. Nesta tabela, nenhum outro funcionário pode ter o mesmo ID de funcionário.
Neste tutorial, você aprenderá:
- O que são chaves?
- Por que precisamos de uma chave?
- Várias chaves no sistema de gerenciamento de banco de dados
- O que é a superchave?
- O que é chave primária?
- O que é chave alternativa?
- O que é a chave do candidato?
- O que é chave estrangeira?
- O que é a chave composta?
- O que é chave composta?
- O que é Surrogate Key?
- Diferença entre chave primária e chave estrangeira
Por que precisamos de uma chave?
Aqui estão alguns motivos para usar a chave sql no sistema DBMS.
- As chaves ajudam a identificar qualquer linha de dados em uma tabela. Em um aplicativo do mundo real, uma tabela pode conter milhares de registros. Além disso, os registros podem ser duplicados. As chaves garantem que você possa identificar exclusivamente um registro de tabela, apesar desses desafios.
- Permite que você estabeleça uma relação e identifique a relação entre as tabelas
- Ajudá-lo a reforçar a identidade e integridade no relacionamento.
Tipos de chaves no sistema de gerenciamento de banco de dados
Existem principalmente sete tipos diferentes de chaves no DBMS e cada chave tem sua funcionalidade diferente:
- Superchave - Uma superchave é um grupo de chaves únicas ou múltiplas que identifica linhas em uma tabela.
- Chave primária - é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela.
- Chave do candidato - é um conjunto de atributos que identificam exclusivamente as tuplas em uma tabela. Candidate Key é uma superchave sem atributos repetidos.
- Chave alternativa - é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela.
- Chave estrangeira - é uma coluna que cria um relacionamento entre duas tabelas. O objetivo das chaves estrangeiras é manter a integridade dos dados e permitir a navegação entre duas instâncias diferentes de uma entidade.
- Chave composta - tem dois ou mais atributos que permitem que você reconheça de forma única um registro específico. É possível que cada coluna não seja exclusiva por si mesma no banco de dados.
- Chave composta - uma chave artificial que visa identificar cada registro é chamada de chave substituta. Esse tipo de chave é único porque é criado quando você não tem nenhuma chave primária natural.
- Surrogate Key - Uma chave artificial que visa identificar cada registro é chamada de surrogate key. Esse tipo de chave é único porque é criado quando você não tem nenhuma chave primária natural.
Qual é a chave Super?
Uma superchave é um grupo de chaves únicas ou múltiplas que identifica linhas em uma tabela. Uma superchave pode ter atributos adicionais que não são necessários para uma identificação exclusiva.
Exemplo:
EmpSSN | EmpNum | Empname |
9812345098 | AB05 | Mostrando |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
No exemplo fornecido acima, os nomes EmpSSN e EmpNum são superchaves.
O que é uma chave primária?
PRIMARY KEY é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela. A chave primária não pode ser uma duplicata, o que significa que o mesmo valor não pode aparecer mais de uma vez na tabela. Uma tabela não pode ter mais de uma chave primária.
Regras para definir a chave primária:
- Duas linhas não podem ter o mesmo valor de chave primária
- Cada linha deve ter um valor de chave primária.
- O campo da chave primária não pode ser nulo.
- O valor em uma coluna de chave primária nunca pode ser modificado ou atualizado se qualquer chave estrangeira se referir a essa chave primária.
Exemplo:
No exemplo a seguir, StudID
é uma chave primária.
StudID | Núm. da lista | Primeiro nome | Sobrenome | O email |
1 | 11 | Tom | Preço | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
2 | 12 | usuario | Wright | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
3 | 13 | Dana | Natan | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
Qual é a chave alternativa?
ALTERNATE KEYS é uma coluna ou grupo de colunas em uma tabela que identifica exclusivamente cada linha dessa tabela. Uma tabela pode ter várias opções para uma chave primária, mas apenas uma pode ser definida como a chave primária. Todas as chaves que não são chaves primárias são chamadas de chave alternativa.
Exemplo:
Nesta tabela, StudID, Roll No, Email são qualificados para se tornarem uma chave primária. Mas como StudID é a chave primária, Roll No, Email torna-se a chave alternativa.
StudID | Núm. da lista | Primeiro nome | Sobrenome | O email |
1 | 11 | Tom | Preço | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
2 | 12 | usuario | Wright | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
3 | 13 | Dana | Natan | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
O que é uma chave de candidato?
CANDIDATE KEY é um conjunto de atributos que identificam exclusivamente as tuplas em uma tabela. Candidate Key é uma superchave sem atributos repetidos. A chave primária deve ser selecionada a partir das chaves candidatas. Cada tabela deve ter pelo menos uma única chave candidata. Uma tabela pode ter várias chaves candidatas, mas apenas uma única chave primária.
Propriedades da chave do candidato:
- Deve conter valores únicos
- A chave do candidato pode ter vários atributos
- Não deve conter valores nulos
- Deve conter campos mínimos para garantir exclusividade
- Identifique exclusivamente cada registro em uma tabela
Exemplo: na tabela fornecida, ID do aluno, número do rolo e e-mail são as chaves candidatas que nos ajudam a identificar de maneira única o registro do aluno na tabela.
StudID | Núm. da lista | Primeiro nome | Sobrenome | O email |
1 | 11 | Tom | Preço | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
2 | 12 | usuario | Wright | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
3 | 13 | Dana | Natan | Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. |
Qual é a chave estrangeira?
FOREIGN KEY é uma coluna que cria um relacionamento entre duas tabelas. O objetivo das chaves estrangeiras é manter a integridade dos dados e permitir a navegação entre duas instâncias diferentes de uma entidade. Ele atua como uma referência cruzada entre duas tabelas, pois faz referência à chave primária de outra tabela.
Exemplo:
DeptCode | DeptName |
001 | Ciência |
002 | inglês |
005 | Computador |
Identificação do professor | Fname | Lname |
B002 | David | Warner |
B017 | Sara | Joseph |
B009 | Mike | Brunton |
Nesta chave no exemplo dbms, temos duas tabelas, professor e departamento em uma escola. No entanto, não há como ver qual pesquisa funciona em qual departamento.
Nesta tabela, adicionando a chave estrangeira em Deptcode ao nome do professor, podemos criar uma relação entre as duas tabelas.
Identificação do professor | DeptCode | Fname | Lname |
B002 | 002 | David | Warner |
B017 | 002 | Sara | Joseph |
B009 | 001 | Mike | Brunton |
Este conceito também é conhecido como Integridade Referencial.
Qual é a chave composta?
COMPOUND KEY tem dois ou mais atributos que permitem que você reconheça de forma única um registro específico. É possível que cada coluna não seja exclusiva por si mesma no banco de dados. No entanto, quando combinada com a outra coluna ou colunas, a combinação de chaves compostas torna-se única. O objetivo da chave composta no banco de dados é identificar exclusivamente cada registro na tabela.
Exemplo:
OrderNo | PorductID | Nome do Produto | Quantidade |
B005 | JAP102459 | Mouse | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | Monitor LCD | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Impressora a laser | 3 |
Neste exemplo, OrderNo e ProductID não podem ser uma chave primária, pois não identificam exclusivamente um registro. No entanto, uma chave composta de ID do pedido e ID do produto pode ser usada, pois identifica cada registro de maneira exclusiva.
Qual é a chave composta?
COMPOSITE KEY é uma combinação de duas ou mais colunas que identificam exclusivamente as linhas de uma tabela. A combinação de colunas garante exclusividade, embora a exclusividade individualmente não seja garantida. Portanto, eles são combinados para identificar exclusivamente os registros em uma tabela.
A diferença entre a chave composta e a chave composta é que qualquer parte da chave composta pode ser uma chave estrangeira, mas a chave composta pode ou não ser uma parte da chave estrangeira.
O que é uma chave substituta?
SURROGATE KEYS é uma chave artificial que visa identificar cada registro de maneira única, chamada de surrogate key. Este tipo de chave parcial em dbms é única porque é criada quando você não tem nenhuma chave primária natural. Eles não conferem nenhum significado aos dados da tabela. A chave substituta geralmente é um número inteiro. Uma chave substituta é um valor gerado logo antes de o registro ser inserido em uma tabela.
Fname | Sobrenome | Hora de início | Fim do tempo |
Anne | Smith | 09:00 | 18:00 |
Jack | Francis | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Mostrando | Willam | 14:00 | 23:00 |
Acima, dado exemplo, mostra os horários dos turnos dos diferentes funcionários. Neste exemplo, uma chave substituta é necessária para identificar exclusivamente cada funcionário.
Chaves substitutas em sql são permitidas quando
- Nenhuma propriedade possui o parâmetro da chave primária.
- Na tabela, quando a chave primária é muito grande ou complicada.
Diferença entre chave primária e chave estrangeira
Chave primária | Chave Estrangeira |
Ajuda a identificar exclusivamente um registro na tabela. | É um campo da tabela que é a chave primária de outra tabela. |
A chave primária nunca aceita valores nulos. | Uma chave estrangeira pode aceitar vários valores nulos. |
A chave primária é um índice clusterizado e os dados na tabela DBMS são organizados fisicamente na sequência do índice clusterizado. | Uma chave estrangeira não pode criar automaticamente um índice, agrupado ou não agrupado. No entanto, você pode criar manualmente um índice na chave estrangeira. |
Você pode ter a única chave primária em uma tabela. | Você pode ter várias chaves estrangeiras em uma tabela. |
Resumo
- Uma chave em SQL é um atributo ou conjunto de atributos que ajuda você a identificar uma linha (tupla) em uma relação (tabela)
- As chaves DBMS permitem que você estabeleça uma relação e identifique a relação entre as tabelas
- Sete tipos de chaves DBMS são Super, Primária, Candidata, Alternativa, Estrangeira, Composto, Composto e Chave substituta.
- Uma superchave é um grupo de chaves únicas ou múltiplas que identifica linhas em uma tabela.
- Uma coluna ou grupo de colunas em uma tabela que nos ajuda a identificar exclusivamente cada linha dessa tabela é chamada de chave primária
- Todas as chaves que não são chaves primárias são chamadas de chave alternativa
- Uma superchave sem atributo repetido é chamada de chave candidata
- Uma chave composta é uma chave que tem muitos campos que permitem que você reconheça um registro específico
- Uma chave que possui vários atributos para identificar exclusivamente as linhas de uma tabela é chamada de chave composta
- Uma chave artificial que visa identificar cada registro é chamada de surrogate key
- A chave primária nunca aceita valores nulos, enquanto uma chave estrangeira pode aceitar vários valores nulos.