AULA SQL
SLIDE 01

JOINs e Modelagem Relacional

Entendendo a diferença entre transações e itens da transação.

Hoje vamos “abrir o motor” do banco de dados e entender como sistemas reais funcionam.

TRANSAÇÃO

Quem fez o pedido?

ITENS

O que foi comprado?

CONSULTA 1
SLIDE 02

Primeira Consulta

Visão no nível do pedido.

SELECT c.nome AS cliente,
       p.id AS pedido,
       p.valor_total,
       p.data_pedido
FROM clientes c
INNER JOIN pedidos p
    ON p.cliente_id = c.id
ORDER BY c.nome;

O que ela faz?

  • • Nome do cliente
  • • ID do pedido
  • • Valor total
  • • Data do pedido

Tradução Humana

“Mostre todos os pedidos junto com o nome do cliente que fez cada pedido.”

CONCEITO CHAVE
PEDIDO

Cada linha representa UM pedido.

INNER JOIN
SLIDE 04

Como o JOIN Funciona

O banco conecta tabelas através das chaves.

Tabela clientes

1 → Ana

2 → Carlos

Tabela pedidos

101 → cliente 1

102 → cliente 2

pedido.cliente_id = cliente.id

CONSULTA 2
SLIDE 05

Segunda Consulta

Agora olhando os produtos do pedido.

SELECT 
    c.nome AS cliente,
    pr.nome AS produto,
    pe.quantidade,
    pe.valor_total,
    pe.data_pedido
FROM clientes c
INNER JOIN pedidos pe 
    ON pe.cliente_id = c.id
INNER JOIN produtos pr 
    ON pr.id = pe.produto_id
ORDER BY c.nome, pe.data_pedido;

Agora entrou:

A tabela produtos

Resultado

O banco agora mostra o que foi comprado.

NÍVEL DA CONSULTA
PRODUTO

Cada linha representa um produto comprado.

COMPARAÇÃO
SLIDE 07

A Grande Diferença

Pedido vs Produto do Pedido.

Consulta 1

  • • Mostra pedidos
  • • Nível do pedido
  • • 2 tabelas
  • • Visão gerencial

Consulta 2

  • • Mostra produtos
  • • Nível do item
  • • 3 tabelas
  • • Visão analítica
VISÃO ESTRATÉGICA
SLIDE 08

Gerencial vs Analítica

Consulta Gerencial

  • • Faturamento
  • • Ticket médio
  • • Clientes que mais compram
  • • Quantidade de pedidos

Consulta Analítica

  • • Produtos mais vendidos
  • • BI e dashboards
  • • Comportamento de compra
  • • Recomendação de produtos
MODELAGEM
SLIDE 09

Problema do Modelo Atual

O pedido possui apenas um produto.

pe.produto_id

Problema

Como armazenar:

• 1 notebook
• 2 mouses
• 1 monitor

Conclusão

Sistemas reais precisam separar pedidos dos itens do pedido.

ARQUITETURA PROFISSIONAL

Modelagem Real

clientes ↓ pedidos ↓ itens_pedido ↓ produtos

Estrutura usada em ERPs, e-commerces e sistemas corporativos.

EXERCÍCIOS
SLIDE 11

Desafios da Aula

1

Liste todos os produtos comprados pela cliente Ana.

2

Mostre todos os itens do pedido 1001.

3

Calcule o valor total de cada pedido.

4

Descubra qual produto foi mais vendido.

FECHAMENTO

Virada de Chave

A diferença parece pequena.

Mas agora vocês entendem a diferença entre:

TRANSAÇÃO

ITENS DA TRANSAÇÃO