Introdução às chaves SQL
Chaves são campos na tabela relacional que criam relacionamentos entre outras tabelas, mantêm integridade, exclusividade etc. Neste tópico, vamos aprender sobre Chaves SQL.
No RDBMS, o Keys desempenha um papel importante. Isso participa de várias atividades no banco de dados relacional. Usar o Key pode tornar a recuperação de dados muito mais rápida e eficiente. Ele pode estabelecer o relacionamento em duas ou mais tabelas. O uso de chaves nos permite manter dados válidos e consistentes no banco de dados. Além disso, costumava identificar exclusivamente uma tupla (linha) da tabela. Essas tabelas podem ter várias colunas.
Na vida real, uma tabela pode ter várias chaves. Todas as colunas também podem ser declaradas como Chave e essas Chaves podem ser aplicadas pelo banco de dados.
Sintaxe:
CREATE TABLE `customer` (
`cust_id` int(11) NOT NULL,
`cust_name` varchar(100) NOT NULL,
`cust_address` text NOT NULL,
`cust_aadhaar_number` varchar(50) DEFAULT NULL,
`cust_pan_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `customer` ADD PRIMARY KEY (`cust_id`);
Na consulta SQL acima, podemos ver como uma coluna 'cust_id' é definida como uma Chave Primária.
Tipo de chaves SQL
Vários tipos de chaves são suportados pelo SQL Server.
A seguir está a lista de chaves SQL:
- Chave primária
- Chave única
- Chave candidata
- Chave alternativa
- Chave composta
- Super Key
- Chave estrangeira
Por exemplo
Tabela de clientes | ||||
cust_id | cust_name | cust_address | cust_aadhaar_number | cust_pan_number |
100001 | Sunil Kumar | Noida | 372464389211 | ADSFS3456K |
100002 | Ankit Gupta | Gr Noida | 442289458453 | CGHAD7583L |
100003 | Suresh Yadav | Nova Delhi | 878453444144 | NMKRT2278O |
100004 | Nilam Singh | Lucknow | 227643441123 | HFJFD3876U |
100005 | Amal Rawat | Ghaziabad | 932571156735 | CBMVA9734A |
100006 | Harsh Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Abaixo, a tabela "Pedido" apresenta os dados relacionados correspondentes ao "cust_id" da tabela Cliente.
Tabela de pedidos | ||
cust_id | order_month_year | Valor do pedido |
100001 | 2019 - jan | $ 100.000 |
100002 | 2019 - jan | $ 120.000 |
100003 | 2019 - jan | $ 100.000 |
100004 | 2019 - jan | $ 110.000 |
100001 | 2019 - fev | $ 105.000 |
100002 | 2019 - fev | $ 125.000 |
Agora, passaremos um por um em cada uma das Chaves:
1. Chave Primária
Chave Primária é um campo que pode ser usado para identificar todas as tuplas exclusivamente no banco de dados. Somente uma das colunas pode ser declarada como chave primária. Uma chave primária não pode ter um valor nulo.
Exemplo: na tabela relacional fornecida acima, "cust_id" é a Chave Primária, pois pode identificar todas as linhas exclusivamente da tabela.
2. Chave Única
Chave exclusiva pode ser um campo ou conjunto de campos que podem ser usados para identificar exclusivamente a tupla do banco de dados. Um ou mais campos podem ser declarados como uma chave exclusiva. A coluna Chave exclusiva também pode conter o valor NULL. O uso da chave exclusiva melhora o desempenho da recuperação de dados. Isso torna a pesquisa de registros do banco de dados muito mais rápida e eficiente.
Exemplo: Na tabela relacional fornecida acima, "cust_aadhaar_number", "cust_pan_number" são a Chave Exclusiva, pois podem permitir um valor como NULL na coluna
3. Chave do Candidato
Chave candidata pode ser uma coluna ou grupo de colunas que pode se qualificar para a chave exclusiva. Cada tabela possui pelo menos uma chave de candidato. Uma tabela pode ter uma ou mais Chave Candidata. Cada Chave Candidata pode funcionar como uma Chave Primária, se necessário, em certos cenários.
Exemplo: na tabela relacional fornecida acima, “cust_id”, “cust_aadhaar_number”, “cust_pan_number” são a Chave Candidata, pois ela pode identificar todas as linhas exclusivamente da tabela. Essas colunas também qualificam os critérios para serem uma Chave Primária.
4. Chave alternativa
Chave alternativa é aquela que pode ser usada como chave primária, se necessário. A Chave Alternativa também se qualifica como Chave Primária, mas, por enquanto, não é a Chave Primária.
Exemplo: Na tabela relacional fornecida acima, "cust_aadhaar_number", "cust_pan_number" são a Chave Alternativa, pois as duas colunas podem ser uma Chave Primária, mas ainda não foram selecionadas para a Chave Primária.
5. Chave composta
Chave composta também é conhecida como Chave composta / Chave concatenada. Chave composta refere-se a um grupo de duas ou mais colunas que podem ser usadas para identificar exclusivamente uma tupla da tabela. Um grupo da coluna em combinação pode identificar uma linha exclusivamente, mas uma única coluna desse grupo não promete identificar a linha exclusivamente.
Exemplo: na tabela relacional fornecida acima, ou seja, Tabela de pedidos, grupo “cust_id”, “order_month_year” dessas colunas usadas em conjunto para identificar a tupla exclusivamente na tabela de pedidos. A coluna individual desta tabela não pode identificar a tupla exclusivamente da tabela Ordem.
6. Super Key
Super Key é uma combinação de colunas, cada coluna da tabela permanece dependente. A Super Chave pode ter mais algumas colunas no grupo que podem ou não ser necessárias para identificar exclusivamente a tupla da tabela. Chave Candidata é o subconjunto da Super Chave. A Chave do candidato também é conhecida como Super Chave mínima.
Exemplo: Na tabela relacional acima, Chave Primária, Chave Candidata e Chave Única é a Super Chave. Como uma única coluna da Tabela de clientes, ou seja, 'cust_id' é suficiente para identificar as tuplas exclusivamente da tabela. Qualquer conjunto da coluna que contém 'cust_aadhaar_number', 'cust_pan_number' é uma Super Chave.
7. Chave Estrangeira
Uma chave estrangeira é uma coluna que é conhecida como Chave Primária na outra tabela, ou seja, Uma Chave Primária em uma tabela pode ser referida como Chave Estrangeira em outra tabela. Chave estrangeira pode ter valores duplicados & NULL se for definida para aceitar valores NULL.
Exemplo: Na tabela relacional fornecida acima, 'cust_id' é Chave Primária na tabela Cliente, mas 'cust_id' na tabela Pedido, conhecida como 'Chave Externa'. A chave estrangeira em uma tabela sempre se torna a chave primária na outra tabela.
A figura acima mostra como cada coluna é mostrada como uma chave de acordo com sua qualificação para identificar as tuplas exclusivamente da tabela. A captura de tela resume toda a chave através do uso da tabela relacional.
Conclusão - Chaves SQL
Chaves SQL é um dos atributos do banco de dados relacional. que desempenha papéis importantes para estabelecer um relacionamento entre duas ou mais tabelas. Também ajuda as consultas a serem executadas mais rapidamente, ou seja, a recuperação dos registros do banco de dados se torna muito mais rápida usando Chaves. As chaves também definem as diferentes restrições para identificar exclusivamente as tuplas dos dados grandes.
Artigos recomendados
Este é um guia para chaves SQL. Aqui discutimos a introdução às chaves SQL e 7 tipos diferentes com o exemplo apropriado em detalhes. Você também pode consultar o seguinte artigo.
- Palavra-chave distinta no SQL
- Cursores no SQL
- Chave estrangeira no SQL
- Transações em SQL