Voltar para a lista de artigos Artigos
11 minutos de leitura

Termos SQL que os Iniciantes Devem Saber - Parte 2

Esta é a segunda parte da minha lista de termos SQL essenciais para iniciantes. Na primeira, você aprendeu o que são uma tabela, banco de dados relacional e consulta. Agora, está na hora de termos mais avançados de banco de dados. Mas não tenha medo! Não vou esmagá-los com definições científicas. Explicarei tudo simplesmente para que você possa entender facilmente.

Se você quiser rever os termos SQL básicos, veja meu artigo anterior, SQL Terms Beginners Should Know. Lembre-se de marcar este artigo nos seus favoritos. Ele será uma fonte útil de informação.

Sem mais demoras, aqui estão mais alguns termos SQL que você precisa saber.

Termos SQL

Alias

Um apelido é um nome que podemos definir para uma coluna ou tabela específica em uma consulta SQL. Normalmente, usamos pseudônimos para facilitar nossa vida: para exibir um nome de coluna mais legível ou para encurtar um nome de tabela longo.

Nossa mesa pode ter um nome conveniente como order. Mas e se nossa mesa for chamada orders_january_2020_shipped? E se for ainda mais longo e mais complicado?

Seria inconveniente escrever o nome completo da tabela cada vez que nos referimos a ela. Por exemplo, para nos referirmos à coluna confirmed_payment na tabela mencionada acima, precisaríamos digitar orders_january_2020_shipped.confirmed_payment.

No entanto, você pode usar a cláusula AS para definir um pseudônimo, neste caso, jpara orders_january_2020_shipped. Agora, será mais fácil indicar os pedidos já pagos: j.confirmed_payment.

Você também pode usar um pseudônimo se você estiver escrevendo uma consulta SQL longa e complexa. Por exemplo, você pode incluir isto em sua consulta: j.confirmed_payment AS jcp. Agora, para o resto da consulta, você pode simplesmente usar jcp ao invés de j.confirmed_payment.

Mas tenha cuidado para não se perder nestes nomes.

Certo, posso ter confundido um pouco você. Deixe-me dar-lhe um exemplo para mostrar o que eu quero dizer.

SELECT column as c
FROM table as t
WHERE t.c = "something";

Lembre-se, um pseudônimo só existe para a duração da consulta. Se mais tarde você escrever outra consulta separada, você pode nomear as colunas ou tabelas de forma diferente.

Os pseudônimos em SQL são muito úteis, e vale a pena saber como utilizá-los. Você provavelmente irá apreciá-los mais quando trabalhar com Cláusulas JOIN em SQL.

Nulo

NULL indica que o valor dos dados em uma célula de tabela específica está faltando ou é desconhecido. É importante entender o que é NULL e quando ele é usado. Sem uma boa compreensão de NULL, será difícil trabalhar com bancos de dados.

Primeiro, algo que você deve absolutamente lembrar: NULL não é 0, e isso não significa vazio! NULL ocorre quando o valor em uma determinada célula de tabela é desconhecido ou indeterminado.

NULL Os valores podem ser aplicados a qualquer tipo de dado: inteiros, datas, valores VARCHAR, ou qualquer outro tipo de dado. Mas é preciso ter cuidado ao utilizar NULL. Ao utilizar qualquer operação de comparação, incluindo operadores NULL, o resultado será sempre NULL.

Ao aprender sobre NULL, surge o tópico de lógica tri-avaliada. Você quer saber o que é isso? Leia o artigo Understanding the Use of NULL in SQL Three-Valued Logic (Entendendo o Uso da Lógica de Três Valores ) para saber mais.

Junte-se a .

JOIN é um operador SQL que lhe permite combinar dados de duas ou mais tabelas. Ele normalmente concatena linhas com valores iguais para colunas específicas. Se você já sabe o que são chaves primárias e chaves estrangeiras, a função JOIN é algo que as conecta.

Tipos diferentes de JOIN retornam resultados diferentes. Aqui estão vários tipos JOIN:

  • Inner JOIN retorna todas as linhas que correspondem à condição indicada em ambas as tabelas.
  • Left JOIN retorna todas as linhas da tabela da esquerda com valores correspondentes da tabela da direita. Se uma das linhas não tiver valores correspondentes na tabela da direita, NULL aparecerá.
  • O JOIN da direita retorna o mesmo resultado que o acima, apenas o contrário. O resultado será todas as linhas da tabela da direita com os valores correspondentes da tabela da esquerda, juntamente com NULL onde não há correspondência.
  • Full JOIN retorna todas as fileiras de ambas as tabelas.
  • Cross JOIN retorna todas as combinações de linhas de ambas as tabelas. Aqui está um guia ilustrado para o SQL Cross JOIN.

Aqui estão outros casos de uso para JOIN:

Para saber mais e praticar a junção de mesas, confira nossas tabelas interativas Cláusulas JOIN em SQL curso. Temos também uma grande folha de fraude SQL JOIN JOIN. Marque-a em seu navegador. Você voltará a ele muitas vezes.

Chave primária

Nem todas as colunas têm o mesmo papel. Algumas colunas são identificadores primários para a tabela em questão: elas têm valores diferentes em cada linha. Esta coluna é chamada de chave primária.

Uma chave primária é usada para identificar linhas, e a singularidade de um determinado registro garante que nenhuma duplicata aparecerá na tabela. Se você tentar inserir uma nova linha com um valor duplicado na coluna da chave primária, essa linha será rejeitada pelo banco de dados.

Por exemplo, imagine o orders mesa. Muito provavelmente, terá colunas como product, customer, purchase_date, etc. Entretanto, para tornar tudo mais claro e fácil, é útil ter uma coluna como order_id. Cada linha terá sua própria identificação única. Esta será sua chave primária.

Isto é muito importante! Nenhuma célula na coluna da chave primária pode estar vazia. Esta coluna também não pode conter valores NULL. Para uma atualização em NULL, dê uma olhada em sua seção acima.

Para a orders uma linha com um valor NULL na coluna order_id será rejeitada pelo banco de dados. Em outras palavras, as chaves primárias garantem que todas as linhas da tabela tenham valores únicos e não-nulos na coluna da chave primária. Simplificando, se fosse de outra forma, muito provavelmente nem todos os pedidos acabariam com seus clientes.

Você quer saber mais sobre chaves primárias? Leia O que é uma chave primária em SQL? Este grande artigo tem quase tudo o que você precisa saber sobre o assunto.

Chave Estrangeira

É um desses conceitos que parece difícil e abstrato, mas na verdade é simples. As chaves estrangeiras são um conceito central nos bancos de dados SQL. Elas nos ajudam a manter a integridade dos dados e normalmente trabalham com chaves primárias para JOIN duas tabelas.

Imagine duas tabelas: product e customers. Ambos provavelmente terão a coluna product_id, que podemos utilizar para conectar o produto com uma pessoa específica que o encomendou. Na segunda tabela, nos referiremos a esta coluna como a chave estrangeira. A chave estrangeira verifica se a tabela mãe (aquela com a chave primária) tem tal valor.

Você quer saber mais sobre as chaves estrangeiras? Eu recomendo o que é uma chave estrangeira em SQL? por meu colega Ignacio.

Se você quiser dominar chaves estrangeiras criando tabelas e sua estrutura, recomendo os cursos SQL interativos em Criação de Estrutura de Banco de Dados. Estes cinco cursos têm mais de 330 exercícios no total. Se você está considerando uma carreira de Engenheiro de Dados, isto é perfeito para você.

Restrição SQL

Você já sabe que as tabelas em bancos de dados relacionais devem ter uma estrutura específica. Entretanto, há momentos em que é preciso acrescentar restrições adicionais a certas colunas.

Por exemplo, na tabela de sua empresa, a customer a tabela, as colunas first_name, last_name, e client_id não podem estar vazias. Além disso, a coluna email_adress deve ter valores únicos. Isto é quando as restrições SQL vêm a calhar.

  • A Null não garante que nenhum dos valores das colunas esteja vazio (ou seja, não pode conter um valor NULL ).
  • Exclusivo garante que a coluna não contenha valores duplicados (ou seja, todos os valores na coluna devem ser únicos).
  • A chave primária assegura que cada valor da coluna identifique de forma única cada linha da tabela.
  • Chave estrangeira assegura uma coluna ligada a uma chave primária de uma coluna em outra tabela.
  • Verifica a condição que se segue.
  • Default assegura que há um valor padrão na coluna. Este valor é usado quando o usuário não insere um valor na coluna.

Graças às restrições SQL, suas tabelas conterão dados corretos que serão mais fáceis de analisar posteriormente. Para mais informações e exemplos de como usar restrições SQL, verifique O que é uma restrição SQL?

Subconsulta

Basicamente, uma subconsulta é uma consulta SQL dentro de outra consulta SQL. Em vez de dividir seu projeto em muitos pequenos elementos, você pode escrever uma consulta SQL lógica para realizar o trabalho.

O poder das subconsultas é subvalorizado. Muitos usuários têm medo de usar subconsultas, mesmo que sejam simples e úteis.

Há vários tipos de subconsultas SQL:

  • As subconsultas escalares retornam um único valor, ou exatamente uma linha e exatamente uma coluna. Elas são mais freqüentemente encontradas nas cláusulas WHERE, onde ajudam a filtrar os resultados da consulta principal.
  • Subconsultas de Múltiplas Linhas retornam uma coluna e várias linhas. São normalmente usadas com operadores como IN, NOT IN, ANY, EXISTS, ALL, , ou NOT EXISTS.
  • AsSubconsultas Correlatas são interessantes. A consulta interna se baseia em informações obtidas da consulta externa.

Há muitas combinações e possibilidades para subconsultas. Você quer saber mais? Confira o Guia para Iniciantes na Subconsulta SQL de meu colega Ignacio. Se você quiser se aprofundar nos tipos de subconsultas, leia Quais são os diferentes tipos de subconsultas SQL?

Não posso explicar bem as subconsultas SQL em tão poucas palavras. Por favor, dedique algum tempo para aprendê-las bem. Você pode fazer isso com nossas SQL para Iniciantes curso. Você também pode assistir a clipes em nosso canal do YouTube We Learn SQL no qual meu amigo Adrian lhe contará tudo sobre as subconsultas SQL. Lembre-se de inscrever-se e dar-lhe um polegar para cima!

Ferramentas do Banco de Dados

Presumo que às vezes você encontrará termos relacionados a soluções e ferramentas para trabalhar com bancos de dados. Eu escolhi três importantes para rever.

MS SQL Server

MS SQL Server

No artigo anterior, eu lhe falei sobre o SGBD. Se você não se lembra do que é, você pode voltar e descobrir. Em resumo, é um programa para trabalhar com bancos de dados.

Um dos SGBDs mais populares do mundo é o MS SQL Server. Sua principal desvantagem é que a versão completa é paga.

O SQL Server 2019, codinome Aris, é a 15ª e última edição desta ferramenta. A primeira edição foi estabelecida em 1989. É a principal, mas não a única, ferramenta de banco de dados do gigante de TI de Redmond.

O MS SQL Server é baseado no Transact-SQL (T-SQL), que é uma extensão do padrão ANSI/ISO. O T-SQL é o padrão SQL no qual algumas coisas são definidas de forma ligeiramente diferente.

Do ponto de vista do usuário casual, não há grandes diferenças. Se você puder usar o padrão SQL, poderá usar o T-SQL da mesma forma. Você pode verificar as diferenças na documentação.

Se você gostaria de aprender como escrever consultas SQL no MS SQL Server imediatamente, recomendo este curso interativo SQL para Iniciantes no MS SQL Server. Você aprenderá o básico necessário e dominará a sintaxe o suficiente para escrever suas próprias consultas através de 131 exercícios.

Você não está convencido de usar um SGBD e ainda está lutando com o processamento de dados em Excel? Eu não me importo com este programa. É um poderoso multi-tarefa. Mas ele tem suas limitações. Então, por que não usar o MS SQL Server? Meu colega Roman ajudará a responder esta pergunta em seu artigo Microsoft SQL Server Prós e Contras.

PostgreSQL

PostgreSQL

O PostgreSQL, também chamado Postgres, é outra grande ferramenta do SGBD. Em meus artigos, tenho admitido repetidamente que esta é minha ferramenta favorita. Por quê? Primeiro, é de código aberto, o que significa que é gratuito.

Segundo, ela tem uma enorme comunidade por trás dela. Desenvolvedores apaixonados de todo o mundo acrescentam novas extensões e correções todos os dias. Esta é uma das comunidades de TI mais ativas na web. Você pode ter certeza de que se você tiver problemas, alguém o ajudará.

Mas você não precisa acreditar em minha palavra. Veja quem está utilizando o PostgreSQL lendo Quais são as principais empresas que utilizam o PostgreSQL? Para que elas o utilizam?

Você pode facilmente usar o PostgreSQL em qualquer projeto relacionado ao trabalho com bancos de dados relacionais. A sério, é uma ferramenta brilhante.

Se você é completamente verde, comece com SQL para Iniciantes no PostgreSQL. Você aprenderá o básico necessário para começar a trabalhar com o PostgreSQL. Depois recomendo o Trilha de Práticas em SQL na trilha do PostgreSQL. Vai ser útil antes da entrevista, antes do exame, ou simplesmente quando você quiser revisar o Postgres.

PostGIS

PostGIS

Uma das extensões mais interessantes do PostgreSQL é o PostGIS. Este é um suplemento que permite armazenar e processar dados geográficos no PostgreSQL.

Os conjuntos de dados geográficos (como coordenadas para pontos em um mapa ou limites de áreas) podem ser enormes. Muitas vezes são terabytes de dados que de outra forma seriam de difícil acesso.

Graças ao PostGIS, isto pode ser feito com bastante facilidade e, acima de tudo, rapidamente. O que normalmente levaria horas pode agora levar apenas alguns segundos.

Você quer um exemplo de um site usando PostGIS? O OpenStreetMap é um deles.

Se isto parece ser magia negra para você, eu recomendo este curso PostGIS. É um dos melhores cursos deste tipo no mercado. Foi nosso Curso do Mês em LearnSQL.com.br, e conversei com seu co-criador, Agnieszka Kozubek-Krycuń, que é o Chief Content Officer da Vertabelo sobre ele.