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.
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.
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.
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?
Vamos começar nossos estudos e conhecer a empresa Serenatto Café & Bistrô!
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.
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á?
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.
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.
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
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:
- A tabela de
produtos
, onde teremos as informações dos produtos;- A tabela
colaboradores
, onde teremos nome, ID, endereço;- A tabela
fornecedores
, com informações da pessoa responsável quando entramos em contato, endereço, entre outras;- A tabela
clientes
, com endereço e e-mail de contato;- A tabela
pedidos
, com as informações das vendas;- 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".
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.
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
.
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?
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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.