Roteiro de Exercícios Práticos com SQLite Studio para uma Loja de Açaí
Neste post, você encontrará um roteiro autoaplicado com 10 exercícios práticos para trabalhar com o SQLite Studio. Assumimos que o banco de dados já foi criado e abrimos o editor SQL para que você possa seguir cada passo, criando e manipulando tabelas relacionadas a uma loja de açaí: clientes, produtos, materiais, vendas e consumo.
Exercício 1: Criação das Tabelas
Objetivo: Criar a estrutura básica do banco de dados com as tabelas clientes, produtos, materiais, vendas e consumo.
Tarefa: Execute os comandos abaixo no editor SQL do SQLite Studio para definir as tabelas:
-- Tabela de Clientes
CREATE TABLE clientes (
id_cliente INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
telefone TEXT,
email TEXT
);
-- Tabela de Produtos (opções de açaí)
CREATE TABLE produtos (
id_produto INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
preco REAL NOT NULL
);
-- Tabela de Materiais (ingredientes e insumos)
CREATE TABLE materiais (
id_material INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT NOT NULL,
custo REAL
);
-- Tabela de Vendas
CREATE TABLE vendas (
id_venda INTEGER PRIMARY KEY AUTOINCREMENT,
id_cliente INTEGER,
data_venda TEXT,
total REAL,
FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente)
);
-- Tabela de Consumo (itens consumidos em cada venda)
CREATE TABLE consumo (
id_consumo INTEGER PRIMARY KEY AUTOINCREMENT,
id_venda INTEGER,
id_produto INTEGER,
quantidade INTEGER,
FOREIGN KEY (id_venda) REFERENCES vendas(id_venda),
FOREIGN KEY (id_produto) REFERENCES produtos(id_produto)
);
Dica: Execute os comandos um a um para verificar a criação correta de cada tabela.
Exercício 2: Inserção de Dados na Tabela de Clientes
Objetivo: Inserir registros para simular os clientes da loja.
Tarefa: Cadastre pelo menos 3 registros utilizando comandos INSERT INTO
:
INSERT INTO clientes (nome, telefone, email) VALUES ('Ana Silva', '123456789', 'ana@gmail.com');
INSERT INTO clientes (nome, telefone, email) VALUES ('Bruno Souza', '987654321', 'bruno@hotmail.com');
INSERT INTO clientes (nome, telefone, email) VALUES ('Carlos Pereira', '555123456', 'carlos@exemplo.com');
Cada comando adiciona um cliente, enquanto o id_cliente
é gerado automaticamente.
Exercício 3: Inserção de Dados na Tabela de Produtos
Objetivo: Cadastrar os produtos ofertados pela loja (por exemplo, diferentes tamanhos ou opções do açaí).
Tarefa: Insira registros com nome do produto e preço:
INSERT INTO produtos (nome, preco) VALUES ('Açaí Pequeno', 12.50);
INSERT INTO produtos (nome, preco) VALUES ('Açaí Médio', 18.00);
INSERT INTO produtos (nome, preco) VALUES ('Açaí Grande', 25.00);
Esses comandos simulam as diferentes porções de açaí oferecidas.
Exercício 4: Inserção de Dados na Tabela de Materiais
Objetivo: Registrar os ingredientes (materiais) utilizados na preparação dos produtos.
Tarefa: Cadastre os insumos com nome e custo:
INSERT INTO materiais (nome, custo) VALUES ('Polpa de Açaí', 5.00);
INSERT INTO materiais (nome, custo) VALUES ('Granola', 2.00);
INSERT INTO materiais (nome, custo) VALUES ('Leite Condensado', 3.00);
Cada material possui um custo que pode ser utilizado para cálculos financeiros e de lucratividade.
Exercício 5: Inserção de Registros na Tabela de Vendas
Objetivo: Registrar as vendas realizadas e associá-las aos clientes.
Tarefa: Insira registros de vendas, relacionando cada venda a um cliente, com data e valor total:
INSERT INTO vendas (id_cliente, data_venda, total) VALUES (1, '2025-04-10', 25.00);
INSERT INTO vendas (id_cliente, data_venda, total) VALUES (2, '2025-04-10', 18.00);
Observe que o id_cliente
referencia um cliente já cadastrado, e a data segue o formato ‘YYYY-MM-DD’.
Exercício 6: Inserção de Registros na Tabela de Consumo
Objetivo: Associar cada venda aos produtos consumidos, detalhando a quantidade.
Tarefa: Registre os itens consumidos por venda:
INSERT INTO consumo (id_venda, id_produto, quantidade) VALUES (1, 3, 1);
INSERT INTO consumo (id_venda, id_produto, quantidade) VALUES (2, 2, 2);
Exemplo: A venda com id_venda = 1
incluiu 1 unidade do produto com id_produto = 3
(Açaí Grande), e a venda com id_venda = 2
registrou 2 unidades do produto com id_produto = 2
.
Exercício 7: Consultas Simples (SELECT)
Objetivo: Visualizar os dados inseridos em cada tabela.
Tarefa: Crie consultas SELECT
para mostrar todos os registros:
SELECT * FROM clientes;
SELECT * FROM produtos;
SELECT * FROM materiais;
SELECT * FROM vendas;
SELECT * FROM consumo;
Essas consultas permitem verificar a correta inserção dos dados.
Exercício 8: Consultas com JOIN
Objetivo: Unir dados de tabelas relacionadas, por exemplo, vincular clientes às suas vendas.
Tarefa: Crie uma consulta que mostre o ID da venda, nome do cliente, data e total da venda:
SELECT v.id_venda, c.nome AS Cliente, v.data_venda, v.total
FROM vendas v
JOIN clientes c ON v.id_cliente = c.id_cliente;
O comando JOIN
associa cada venda ao cliente correspondente, facilitando a visualização dos registros.
Exercício 9: Funções de Agregação
Objetivo: Utilizar funções de agregação para resumir informações dos dados.
Tarefa: Crie consultas para calcular:
- O valor total de todas as vendas.
- A média dos valores das vendas.
-- Total das Vendas:
SELECT SUM(total) AS Total_Vendas FROM vendas;
-- Média dos Valores das Vendas:
SELECT AVG(total) AS Media_Vendas FROM vendas;
Essas funções são úteis para análises gerenciais dos resultados de vendas.
Exercício 10: Atualização e Exclusão de Registros
Objetivo: Praticar comandos de modificação de dados com UPDATE
e DELETE
.
Tarefa: Realize as seguintes operações:
- Atualize o preço de um produto.
- Exclua um registro de cliente (por exemplo, um registro duplicado ou inativo).
-- Atualizar o preço do produto com id_produto = 2:
UPDATE produtos SET preco = 20.00 WHERE id_produto = 2;
-- Excluir um cliente específico (supondo que o cliente com id_cliente = 3 seja removido):
DELETE FROM clientes WHERE id_cliente = 3;
Revisar sempre as condições para evitar atualizações ou exclusões indesejadas.
Considerações Finais
Com esses 10 exercícios, você poderá explorar desde a criação das tabelas até consultas avançadas e manipulação de dados utilizando o SQLite Studio para um banco de dados fictício de uma loja de açaí. Aproveite para experimentar variações e aprofundar seus conhecimentos, criando índices, views ou novas relações entre as tabelas.
Bom estudo e prática!