DevPath · Aprenda a programar ESPTEN

Projeto: loja online

O plano: modelar uma loja

Três peças, uma loja

Um e-commerce se reduz a três conceitos que se relacionam entre si:

  1. Produtos: o catálogo. Cada produto tem nome, preço e estoque.
  2. Carrinho: uma coleção temporária de produtos que o cliente quer comprar, com a quantidade de cada um. Vive na memória, não no banco de dados.
  3. Pedidos: quando o cliente paga, o carrinho se transforma em um pedido permanente que fica registrado.

Pedidos com itens de linha: uma relação N:M

Um pedido não contém um único produto: contém vários, e cada produto pode aparecer em muitos pedidos diferentes. Isso é uma relação muitos-para-muitos (N:M), e não pode ser representada com uma única coluna.

A solução é uma tabela de junção (também chamada de tabela ponte ou de itens/linhas). Cada linha de itens_pedido une um pedido com um produto e guarda a quantidade:

produtos         itens_pedido               pedidos
--------         ------------               -------
id  nome         pedido_id  produto_id      id  data
 1  Teclado          1          1            1  2026-01-10
 2  Mouse            1          2            2  2026-01-11

O pedido 1 tem dois itens de linha: 2 teclados e 1 mouse. Para saber o que um pedido leva, você faz um JOIN entre as três tabelas.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
Dinheiro em centavos e controle de estoque →