Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🎯 ATIVIDADE 06 — MOBILIANDO A CASA

Bem-vindo à sexta semana (4 aulas) do curso de Banco de Dados. Sua estrutura teórica já está pronta. Agora, vamos "mobiliar" o sistema — inserir dados reais e aprender a fazer as perguntas certas ao banco de dados usando a DML (Data Manipulation Language). 🛡️🧩


🎯 Objetivo da Aula

Ao final desta semana, você será capaz de:

  • Inserir registros usando o comando INSERT INTO.
  • Consultar dados de forma seletiva com SELECT e WHERE.
  • Utilizar Operadores Lógicos (e / ou) para filtrar resultados com precisão.
  • Ordenar informações com ORDER BY.

🏢 O Cenário Prático (Seu Desafio)

A TecProExpress iniciou suas operações! Você recebeu uma lista de clientes iniciais e produtos. Seu desafio é popular o banco e gerar os primeiros relatórios para a gerência.

[!IMPORTANT] A Regra de Ouro: Você não pode colocar móveis em uma casa que ainda não tem paredes. No banco de dados, primeiro CRIAMOS a tabela (DDL) e depois INSERIMOS os dados (DML).


🧠 Fundamentos: A Teoria Traduzida

Consultar o banco é como usar o filtro de pesquisa do Instagram ou da Amazon.

O Fluxo da Pergunta (SELECT)

Veja como o banco processa sua solicitação:

flowchart LR
    A[1. Tabela Criada] --> B[2. Dados Inseridos]
    B --> C{"3. WHERE: Filtro"}
    C -- Atende --> D[Exibir Linha]
    C -- Não Atende --> E[Descartar]
    D --> F["4. ORDER BY: Ordenação"]
    
    style A fill:#e8f5e9
    style B fill:#fffde7

📖 Exemplo Guiado: O Passo a Passo Completo

Para quem está começando, este é o fluxo obrigatório para qualquer banco de dados.

1. Criando o "Espaço" (DDL)

-- Primeiro, criamos a tabela para receber os produtos
CREATE TABLE produto (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(100),
    preco DECIMAL(10,2)
);

2. Inserindo a "Mobília" (DML)

-- Agora que a tabela existe, inserimos os dados
INSERT INTO produto (nome, preco) VALUES 
('Smartphone X', 2500.00),
('Cabo USB', 25.00),
('Monitor 4K', 1800.00);

3. Fazendo a Pergunta (Query)

-- Selecionamos apenas o que nos interessa
SELECT nome, preco FROM produto WHERE preco > 100 AND preco < 2000;

🔍 Detalhamento do Código:

  • CREATE TABLE: Prepara o terreno. Sem isso, o comando INSERT dá erro de "Table doesn't exist".
  • INSERT INTO: "Empurra" os dados para dentro das colunas nome e preco.
  • AND: O operador e exige que as duas condições sejam verdadeiras ao mesmo tempo.

🛠️ Prática Obrigatória 1: Populando a TecProExpress

Cenário: Carga inicial de teste.

  1. Crie a tabela cliente com as colunas id, nome e cidade.
  2. Insira 5 Clientes (use cidades como 'São Paulo', 'Curitiba' e 'Santos').

🚀 Script de Seed Completo (SQL)

[!TIP] Copie e cole este bloco no seu SGBD para garantir que o ambiente esteja pronto:

-- PASSO 1: Criar a tabela
CREATE TABLE cliente (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(100),
    cidade VARCHAR(50)
);

-- PASSO 2: Inserir os dados
INSERT INTO cliente (nome, cidade) VALUES 
('Marcos Silva', 'São Paulo'),
('Julia Costa', 'Curitiba'),
('Roberto Dias', 'Santos'),
('Ana Paula', 'São Paulo'),
('Lucas Melo', 'Santos');

🛠️ Prática Obrigatória 2: Relatórios de Operação

Cenário: O Gerente solicitou dados específicos.

  1. Filtro Flexível (ou): Liste os clientes que moram em 'São Paulo' ou 'Santos'.
  2. Ordenação: Liste todos os produtos do mais caro para o mais barato (DESC).

📤 Instruções de Entrega (Microsoft Teams)

Após validar seus códigos SQL locais:

  1. Certifique-se de que os seus comandos INSERT INTO e SELECT estão em conformidade com o padrão ANSI SQL.
  2. Salve os comandos em um único arquivo de script com a extensão .sql (Ex: Atividade_06_SeuNome.sql).
  3. Certifique-se de incluir comentários no código explicando o papel dos filtros lógicos AND (operador e para restringir linhas) e OR (operador ou para ampliar critérios) nas consultas.
  4. Envie o arquivo .sql correspondente no Microsoft Teams para avaliação técnica.

💡 Checkpoint de Lógica

[!IMPORTANT] Dica para Iniciantes: Sempre que você fechar seu banco de dados e abrir de novo, verifique se a tabela ainda existe. Se você estiver usando um banco em memória ou temporário, precisará rodar o CREATE TABLE novamente antes de inserir dados. 🧠🛡️


🔥 Desafio de Fixação (Opcional)

Nível: Analista Sênior 🏆

Use o operador LIKE para encontrar todos os clientes cujo nome comece com a letra "A". Como o WHERE se comporta nesse caso?


🔑 Gabarito de Código/Fórmulas Completo

Consultas da Prática 2:

-- 1. Filtro Flexível (OU)
SELECT * FROM cliente 
WHERE cidade = 'São Paulo' OR cidade = 'Santos';

-- 2. Ordenação Decrescente (Z-A / Maior-Menor)
SELECT * FROM produto 
ORDER BY preco DESC;

🔍 Explicação do Gabarito:

  • OR: Traz registros que atendam a QUALQUER uma das condições.
  • DESC: Inverte a ordem natural. No preço, coloca o mais caro primeiro.