Diferença entre chaves em SQL

Conteúdo

Introdução

Chaves SQL são a chave para o seu sucesso no Analytics!!

Os dados estão crescendo a uma taxa exponencial, assim como a demanda por profissionais bem familiarizados com bancos de dados.

Organizações em todo o mundo estão procurando cientistas e analistas de dados que possam extrair percepções significativas de grandes quantidades de dados.. E uma das linguagens mais importantes para lidar com bancos de dados é o SQL. É por isso que profissionais experientes em SQL têm uma vantagem sobre seus colegas quando se trata de trabalhar com bancos de dados..

sql-keys-4058737

Um aspecto importante do trabalho com bancos de dados é a criação de um. Criar um banco de dados é um jogo completamente diferente em comparação com a recuperação de dados de bancos de dados. Porque? Nós vamos, a criação de um banco de dados requer um entendimento profundo de como as tabelas se relacionam entre si dentro de um banco de dados e como lidar com os registros para que não haja dados duplicados.

Um aspecto muito importante da criação de bancos de dados é entender o conceito de chaves em SQL. Eles nada mais são do que um grupo de colunas que podem ajudá-lo a identificar linhas em uma tabela de maneira única. Mas como qualquer outra entidade, existem muitos tipos de chaves em SQL.

Neste artigo, Discutirei algumas das chaves SQL mais comuns que qualquer cientista de dados ou analista deve saber antes de começar a trabalhar com bancos de dados..

Eu sugiro verificar o SQL para curso de ciência de dados se você é novo no SQL.

Tabela de conteúdo

  • Quais são as chaves no DBMS?
  • Superchave
  • Chave candidata
  • Chave primária
  • Chave alternativa ou secundária
  • Chave estrangeira
  • Chave composta

Quais são as chaves no DBMS?

Os bancos de dados são usados ​​para armazenar grandes quantidades de informações que são armazenadas em várias tabelas. Cada tabela pode ter milhares de linhas. Nem é preciso dizer que haverá muitas linhas duplicadas com informações redundantes. Como podemos lidar com isso? Como gerenciamos logs para armazenar apenas dados únicos? E, Como relacionamos as várias tabelas que estão presentes no banco de dados?

As chaves SQL são a resposta para todas essas perguntas.

Uma chave SQL é uma única coluna (o atributo) ou um grupo de colunas que podem identificar linhas de maneira única (ou tuplas) em uma mesa.

As chaves SQL garantem que não haja linhas com informações duplicadas. Não só isso, eles também ajudam a estabelecer um relacionamento entre várias tabelas no banco de dados. Portanto, é imperativo conhecer as diferentes chaves em SQL.

O que é uma superchave em SQL?

A superchave é uma única chave ou um grupo de várias chaves que podem identificar exclusivamente as tuplas em uma tabela.

A superchave pode conter vários atributos que podem não ser capazes de identificar independentemente as tuplas em uma tabela, mas quando agrupado com certas chaves, pode identificar tuplas com exclusividade.

Deixe-me dar um exemplo para esclarecer a afirmação acima. Dê uma olhada na seguinte tabela.

sql9-2590067

Considere isso EU IRIA O atributo é único para cada funcionário. Nesse caso, podemos dizer que o EU IRIA O atributo pode identificar exclusivamente as tuplas nesta tabela. Então, EU IRIA é uma superchave desta tabela. Observe que também podemos ter outras Super Chaves nesta tabela.

Por exemplo – (Identificação, Nome), (Identificação, Correio eletrônico), (Identificação, Nome, Correio eletrônico), etc., podem ser super chaves, uma vez que todos podem identificar exclusivamente as tuplas na tabela. Isso se deve à presença do EU IRIA atributo que é capaz de identificar tuplas com exclusividade. Os outros atributos das chaves são desnecessários. Porém, ainda pode identificar tuplas.

O que é uma chave candidata?

A chave candidata é uma única chave ou um grupo de várias chaves que identifica exclusivamente as linhas em uma tabela.

Uma chave candidata é um subconjunto de superchaves e não possui atributos desnecessários que não são importantes para identificar tuplas de maneira exclusiva.

O valor da chave candidata é único e não nulo para todas as tuplas. E cada tabela deve ter pelo menos uma chave candidata. Mas também pode haver mais de uma chave candidata.

Por exemplo, no exemplo que pegamos anteriormente, muito EU IRIA e Correio eletrônico pode atuar como candidato à mesa, uma vez que contêm valores únicos e não nulos.

sql13-2255016

Por outro lado, não podemos usar atributos como Cidade o Gênero para recuperar tuplas da tabela, uma vez que eles não têm valores únicos.

sql14-6008125

Considerando que, ao consultar a tabela no EU IRIA O atributo nos ajudará a recuperar tuplas únicas.

sql15-8154420

Chave primária em SQL

A chave primária é a chave candidata selecionada pelo administrador do banco de dados para identificar exclusivamente as tuplas em uma tabela.

De todas as chaves candidatas que podem ser possíveis para uma mesa, só pode haver uma chave que será usada para recuperar tuplas únicas da tabela. Esta chave candidata é chamada de chave primária.

Só pode haver uma chave primária para uma tabela. Dependendo de como a chave candidata é construída, a chave primária pode ser um único atributo ou um grupo de atributos. Mas o ponto importante a lembrar é que a chave primária deve ser um atributo único e não nulo.

Pode haver duas maneiras de criar uma chave primária para a tabela. A primeira maneira é alterar um já criado para adicionar a restrição de chave primária em um atributo. Isso é mostrado abaixo:

sql4-5859234

Agora, se eu tentar adicionar uma nova linha com um valor de Id duplicado, vai me dar uma mensagem de erro.

sql5-9283779

A segunda maneira de adicionar uma chave primária é durante a criação da tabela. Tudo o que você precisa fazer é adicionar a restrição de chave primária no final depois de definir todos os atributos na tabela.

sql6-9652268

Para definir uma restrição de chave primária em vários atributos, você pode listar todos os atributos entre parênteses como a imagem abaixo mostrada.

sql7-1792270

Mas lembre-se de que esses atributos devem ser definidos como valores não nulos, pelo contrário, todo o propósito de usar a chave primária para identificar tuplas expira exclusivamente.

Chaves alternativas ou secundárias em SQL

As chaves alternativas são aquelas chaves candidatas que não são a chave primária.

Só pode haver uma chave primária para uma tabela. Portanto, todas as chaves candidatas restantes são conhecidas como chaves alternativas ou secundárias. Eles também podem identificar tuplas de maneira única em uma tabela, mas o administrador do banco de dados escolheu uma chave diferente como chave primária.

Se olharmos para a tabela Funcionários mais uma vez, desde que eu escolhi EU IRIA como chave primária, a outra chave candidata (Correio eletrônico), torna-se a chave alternativa da mesa.

sql16-9063177

Chave estrangeira em SQL

A chave estrangeira é um atributo que é uma chave primária em sua tabela primária, mas está incluído como um atributo em outra tabela de host.

Uma chave estrangeira gera um relacionamento entre a tabela principal e a tabela principal. Por exemplo, Além do Empregado tabela contendo dados pessoais de funcionários, poderíamos ter outra mesa Departamento contendo informações relacionadas ao departamento do funcionário.

sql11-8275180

A chave primária nesta tabela é Departamento EU IRIA. Podemos adicionar este atributo ao funcionário, tornando-o a chave estrangeira na tabela. Podemos fazer isso quando estamos criando a tabela ou podemos modificar a tabela mais tarde para adicionar a restrição de chave estrangeira. Aqui eu alterei a mesa, mas a criação de uma chave estrangeira durante a criação da tabela é semelhante à chave primária.

sql10-6949261

Aqui, Dep_Id agora é a chave estrangeira na tabela Employee, embora seja uma chave primária na tabela Departamento.

A chave estrangeira permite que você crie um relacionamento entre duas tabelas no banco de dados. Cada uma dessas tabelas descreve os dados relacionados a um determinado campo (funcionário e departamento aqui). Usando a chave estrangeira, podemos facilmente recuperar dados de ambas as tabelas.

sql17-8670396

Observação: Para operar com chaves estrangeiras, você precisa conhecer as articulações, que você pode encontrar em detalhes em Este artigo.

O uso de chaves estrangeiras facilita a atualização do banco de dados quando necessário. Isso ocorre porque só temos que fazer as alterações necessárias em linhas limitadas. Por exemplo, se ele Marketing o departamento muda de Calcutá para Pune, em vez de atualizá-lo para todas as linhas relevantes no Empregado Tabela, podemos simplesmente atualizar a localização no Departamento mesa. Isso garante que haja apenas alguns locais para atualizar e menos risco de ter dados diferentes em locais diferentes..

O que são chaves compostas?

Uma chave composta é uma chave candidata ou chave primária que consiste em mais de um atributo.

Às vezes, é possível que nenhum atributo tenha a propriedade de identificar as tuplas com exclusividade em uma tabela. Em tais casos, podemos usar um grupo de atributos para garantir a exclusividade. A combinação desses atributos identificará exclusivamente as tuplas na tabela.

Considere a seguinte tabela:

sql12-6888563

Aqui, nenhum dos atributos contém valores únicos para identificar as tuplas. Portanto, podemos combinar dois ou mais atributos para criar uma chave que pode identificar exclusivamente as tuplas. Por exemplo, nós podemos agrupar ID da transação e ID do produto para criar uma chave que pode identificar exclusivamente as tuplas. Eles são chamados de chaves compostas.

Principal diferença entre as chaves SQL

  • Claves SQL são usados ​​para identificar exclusivamente linhas em uma tabela.
  • As chaves SQL podem ser uma única coluna ou um grupo de colunas.
  • Superchave é uma única chave ou um grupo de várias chaves que podem identificar exclusivamente as tuplas em uma tabela.
  • Superchaves pode conter atributos redundantes que podem não ser importantes para identificar tuplas.
  • Chaves do candidato são um subconjunto de Superchaves. Eles contêm apenas os atributos que são necessários para identificar as tuplas com exclusividade.
  • Todo mundo Chaves do candidato estão Superchaves. Mas o oposto não é verdade.
  • Chave primária é um Chave candidata escolhido para identificar exclusivamente as tuplas na tabela.
  • Chave primária os valores devem ser únicos e não nulos.
  • Pode haver vários Superchaves e Chaves do candidato em uma mesa, mas só pode haver um Chave primária em uma mesa.
  • Chaves alternativas são aqueles Chaves do candidato que não foram escolhidos para serem a chave primária da tabela.
  • Chave composta é um Chave candidata consistindo em mais de um atributo.
  • Chave estrangeira é um atributo que é um Chave primária na sua mesa principal, mas é incluído como um atributo na tabela principal.
  • Chaves estrangeiras pode aceitar valores nulos e não únicos.

Notas finais

Neste artigo, cobrimos as chaves mais comuns e amplamente utilizadas que qualquer profissional que pretenda trabalhar com bancos de dados deve saber.

Se você está procurando trabalhar com SQL em Python, Eu sugiro que você leia este artigo. Ou se você estiver procurando por algumas técnicas SQL para empregar para uma melhor análise de dados, então você não deve perder este ótimo artigo.

Espero que tenham gostado deste artigo e conecte-se nos comentários se tiver alguma dúvida sobre este tópico.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.