Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso Realizando consultas com SQL: Joins, Views e transações

Realizando consultas com SQL: Joins, Views e transações

Preparando o banco de dados - Apresentação

Olá! Eu sou a Danielle Oliveira, instrutora da Escola de Dados na Alura, e estou aqui para te dar as boas-vindas a este curso sobre a linguagem SQL.

Audiodescrição: Danielle se descreve como uma mulher de pele morena, cabelos cacheados pretos e olhos castanhos. Ela está sentada em uma cadeira preta e veste uma blusa preta. Atrás dela, há uma parede branca com duas prateleiras com decorações que representam o Nordeste, iluminada em gradiente de verde e azul.

Para quem é este curso?

Este curso é para você que deseja aprofundar os seus conhecimentos na linguagem SQL. Uma observação importante: durante os nossos estudos, não vamos focar em funções mais básicas da linguagem, como BETWEEN, HAVING, ORDER BY, ou as funções que trabalham com string ou data. Nosso foco será em outras cláusulas que também são muito importantes no momento de executar consultas.

O que vamos aprender?

Vamos iniciar os nossos estudos conhecendo o projeto a ser desenvolvido, criando as tabelas e importando os dados. A partir disso, vamos criar a nossa primeira consulta utilizando os operadores UNION e UNION ALL para unir dois SELECT.

Em seguida, também vamos conhecer sobre subconsultas, onde teremos consultas alinhadas dentro de outras consultas, que também nos trazem informações muito importantes de uma, duas ou até mais tabelas.

Além das subconsultas, nós também vamos conhecer sobre os JOINs, que também podemos utilizar para unir campos de duas ou mais tabelas distintas.

Além de JOINs e subconsultas que vamos utilizar para montar os nossos relatórios, trazendo informações essenciais, vamos utilizar recursos que facilitam este processo, como as views, que são tabelas virtuais, e triggers, gatilhos que podem ser acionados a partir de uma ação no banco de dados.

Para finalizar, vamos atualizar os nossos dados, deletar informações e conhecer outra camada de segurança que podemos utilizar ao manipular os nossos dados, que são as transações.

Conclusão

Para uma aprendizagem mais ativa, é muito importante que você participe do fórum, bem como da nossa comunidade no Discord, onde você terá contato com outras pessoas que também estão estudando este curso.

Lembre-se de assistir a todos os vídeos e realizar todas as atividades e desafios para colocar em prática os conhecimentos que você vai adquirir neste percurso.

Vamos colocar a mão na massa?

Preparando o banco de dados - Projeto

Vamos começar nossos estudos e conhecer a empresa Serenatto Café & Bistrô!

Conhecendo o projeto

A Serenatto Café & Bistrô é uma empresa de café e bistrô, onde disponibilizamos diversas bebidas e comidas. As pessoas gestoras da Serenatto estão precisando de diversas informações para auxiliar nas tomadas de decisão, dados sobre colaboradores, fornecedores, produtos, clientes e faturamento.

Como essas informações estão descentralizadas, há uma dificuldade maior para obter, por exemplo, o faturamento do dia, do mês, qual cliente realizou mais pedidos em determinado mês, qual cliente deixou de fazer pedidos, qual produto não foi vendido em um mês específico. A falta dessas informações torna a tomada de decisão em relação aos próximos passos da Serenatto mais desafiadora.

Vamos trabalhar no projeto da Serenatto Café & Bistrô e auxiliar a empresa a obter as informações necessárias para a tomada de decisões. Para isso, vamos utilizar a linguagem SQL, uma linguagem mundialmente conhecida e utilizada pelos bancos de dados relacionais.

Conheceremos diversos recursos dessa linguagem, além dos operadores, das funções e dos SELECT. Também aprenderemos a utilizar subconsultas e JOINs para buscar dados em tabelas diferentes.

Conclusão

Agora que já conhecemos o projeto que vamos desenvolver e estudar durante este curso, chegou o momento de colocarmos a mão na massa e colocar tudo em prática! Vamos lá?

Preparando o banco de dados - Criando tabelas

Agora que já conhecemos o projeto que vamos desenvolver, chegou o momento de colocar a mão na massa e começar a criar as nossas tabelas.

Criando tabelas

Para fazer isso, vamos utilizar como ferramenta o SQLite Online, porque ele nos traz facilidade de execução, já que não precisamos instalar nenhum tipo de ferramenta ou recurso em nosso próprio ambiente, ou seja, fisicamente no nosso computador.

Vamos usar o SQLite Online devido à possibilidade de, sempre que for necessário, executarmos e buscarmos pelo SQLite Online no navegador, conseguindo executar a criação das tabelas, a inserção dos dados e ter a possibilidade de executar as nossas consultas.

Acessando o SQLite Online

Vamos abrir o navegador e buscar por "SQLite Online". Ao acessar o primeiro link disponível, logo a princípio já temos a área de criação de tabelas e de execução, bem como todas as informações do SQLite Online.

Pode haver uma diferença no seu ambiente. No menu lateral à direita, normalmente, há uma aba de histórico, ou seja, tudo que executamos, os comandos e assim por diante. No nosso caso, a fonte está um pouco maior, então a área de histórico não fica localizada na lateral direita.

Sendo assim, quando executarmos uma consulta que por algum motivo dê erro, surgirá uma mensagem padrão de erro no centro da tela e, logo abaixo, na área onde normalmente são retornadas as informações buscadas na tabela, teremos a área de histórico.

Primeiramente, vamos remover a linha de comando da área central, bem como a tabela demo na lateral esquerda. Para isso, clicamos com o botão direito sobre ela e selecionamos a opção "DROP".

Na sequência, surgirá uma janela pop-up com o comando que será executado:

DROP TABLE demo

Criando a tabela produtos

Agora, vamos começar a criar as nossas tabelas. Para que você possa conhecer e saber quais campos cada tabela terá, disponibilizaremos em uma atividade as estruturas de cada tabela. Além disso, disponibilizaremos todos os comandos executados para criar as tabelas e inserir os dados futuramente.

No total, teremos seis tabelas:

  1. A tabela de produtos, onde teremos as informações dos produtos;
  2. A tabela colaboradores, onde teremos nome, ID, endereço;
  3. A tabela fornecedores, com informações da pessoa responsável quando entramos em contato, endereço, entre outras;
  4. A tabela clientes, com endereço e e-mail de contato;
  5. A tabela pedidos, com as informações das vendas;
  6. E a itenspedidos, com os itens vendidos em cada pedido.

Começaremos criando a tabela produtos. Antes da palavra produtos, passaremos o comando CREATE TABLE, e vamos abrir e fechar parênteses ao final da linha de comando. Entre parênteses, vamos colocar as informações dos produtos. São elas: id, nome, descricao, preco e categoria.

CREATE TABLE produtos (
  id, 
  nome, 
  descricao, 
  preco,
  categoria 
);

O id será um texto (TEXT), porque não queremos dar um limite para esse campo, afinal, ele é um campo de ID, então ele deve crescer à vontade. Além disso, ele é único, então sempre que um novo produto for inserido, ele precisa ter um valor diferente. Por fim, precisamos identificar o id como chave primária, então passamos PRIMARY KEY.

id TEXT PRIMARY KEY,

Para o nome, queremos estabelecer um limite, então definiremos como VARCHAR(255). Da mesma forma, em descricao, também colocaremos um VARCHAR(255).

nome VARCHAR(255), 
descricao VARCHAR(255), 

Na sequência, em preco, colocaremos um tipo numérico, mas que nos permita usar casas decimais. Portanto, passaremos DECIMAL(10,2). Por fim, em categoria, definiremos VARCHAR(50).

CREATE TABLE produtos (
  id TEXT PRIMARY KEY,
  nome VARCHAR(255),
  descricao VARCHAR(255),
  preco DECIMAL(10,2),
  categoria VARCHAR(50)
);

Com a estrutura da tabela produtos finalizada, podemos selecionar o código e executar. Feito isso, ao verificar a lateral esquerda, teremos a tabela produtos na seção "Table".

Criando a tabela colaboradores

Podemos prosseguir para a criação da segunda tabela, de colaboradores, seguindo o mesmo padrão. Digitamos CREATE TABLE antes de colaboradores, e abrimos e fechamos parênteses ao final.

Na estrutura da tabela colaboradores, temos: id, nome, cargo, datacontratacao, telefone e email. Em seguida, adicionaremos os dados de endereço, que estarão em campos diferentes. São eles: rua, bairro, cidade, estado, e cep.

Para agilizar nosso processo, vamos colar as informações já prontas:

CREATE TABLE colaboradores (
  ID TEXT PRIMARY KEY,
  Nome VARCHAR(255) NOT NULL,
  Cargo VARCHAR(100),
  DataContratacao DATE,
  Telefone VARCHAR(20),
  Email VARCHAR(100),
  Rua VARCHAR(100) NOT NULL,
  Bairro VARCHAR(100) NOT NULL,
  Cidade VARCHAR(100) NOT NULL,
  Estado VARCHAR(2) NOT NULL,
  cep VARCHAR(8) NOT NULL
);

Temos o ID em formato textual novamente; o Nome que será um VARCHAR(255); o Cargo com VARCHAR(100); a DataContratacao que será uma data, portanto, tipo DATE; o Telefone com VARCHAR(20); Email, Rua, Bairro e Cidade com VARCHAR(100); Estado com VARCHAR(2); e cep com limite de 8 caracteres.

À frente de alguns campos, temos o comando NOT NULL, ou seja, não aceita nulo. Sendo assim, precisamos obrigatoriamente preencher esses campos com um valor.

Podemos selecionar o comando e executar. Ao final, teremos também a tabela colaboradores listada no menu lateral esquerdo, com seus respectivos campos.

Criando a tabela fornecedores

Vamos prosseguir para a tabela de fornecedores. Na tabela fornecedores, teremos campos bastante semelhantes aos da tabela de colaboradores, como ID, Nome, Telefone, Email, Rua, Bairro, Cidade, Estado e cep.

Além disso, adicionaremos o campo Contato, que será um VARCHAR(100) NOT NULL, pois é um dado muito importante a ser inserido.

CREATE TABLE fornecedores (
  ID TEXT PRIMARY KEY,
  Nome VARCHAR(255) NOT NULL,
  Contato VARCHAR(100) NOT NULL,
  Telefone VARCHAR(20),
  Email VARCHAR(100),
  Rua VARCHAR(100) NOT NULL,
  Bairro VARCHAR(100) NOT NULL,
  Cidade VARCHAR(100) NOT NULL,
  Estado VARCHAR(2) NOT NULL,
  cep VARCHAR(8) NOT NULL
);

Adicionadas as informações da tabela, vamos selecionar o código e executar. Feito isso, estarão listadas à esquerda as tabelas produtos, colaboradores, e agora fornecedores.

Conclusão

Ainda precisamos criar as outras tabelas. Para isso, vamos conhecer um recurso interessante que podemos utilizar para criá-las utilizando a linguagem SQL. Vamos conhecer esse recurso?

Sobre o curso Realizando consultas com SQL: Joins, Views e transações

O curso Realizando consultas com SQL: Joins, Views e transações possui 185 minutos de vídeos, em um total de 65 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas