Categoria: id_categoria, nome, (uma categoria pode ter categoria_pai para formar hierarquia).
Produto pertence a 1..N Categorias e cada categoria possui 0..N Produtos.
Carrinho:
Um cliente tem 0..1 Carrinho ativo.
Carrinho contém 1..N Itens, cada item com quantidade e preço_no_momento.
Pedido:
Um pedido é gerado a partir de um carrinho (considere que carrinho pode gerar 0..N pedidos ao longo do tempo, mas um pedido é originado de exatamente 1 carrinho “finalizado”).
Pedido tem: número, data, status (criado/pago/enviado/entregue/cancelado), valor_frete, valor_total.
Pedido tem 1..N ItensPedido (quantidade, preço_unitário, subtotal).
Pagamento:
Um pedido pode ter 1..N Tentativas de pagamento (cartão, pix, boleto).
Cada pagamento registra: data, forma, status (aprovado/recusado/pendente), valor.
Regra: pedido só muda para “pago” quando existir pagamento aprovado.