Roteiro de exercícios auto aplicáveis

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:

  1. Atualize o preço de um produto.
  2. 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!