Simulador

Diagrama do Banco de Dados

Visualização do Diagrama

Código Fonte do Diagrama (DBML)

// =============================================
// Lanchonete "Sabor do Bairro" - Diagrama + Dados de Exemplo
// =============================================

Table clientes {
  id              serial [pk]
  nome            varchar(100) [not null]
  telefone        varchar(15) [unique]
  email           varchar(100) [unique]
  endereco        varchar(200)
  data_cadastro   timestamp [default: `now()`]
}

Table categorias {
  id              serial [pk]
  nome            varchar(50) [not null, unique]
}

Table produtos {
  id              serial [pk]
  categoria_id    int
  nome            varchar(80) [not null]
  descricao       text
  preco           decimal(10,2) [not null]
  disponivel      boolean [default: true]
}

Table pedidos {
  id              serial [pk]
  cliente_id      int                     // pode ser null (pedido balcão)
  data_pedido     timestamp [default: `now()`]
  tipo            varchar(20) [default: 'consumo_local']
  status          varchar(20) [default: 'pendente']
  observacao      text
  total           decimal(10,2) [default: 0]
}

Table itens_pedido {
  id              serial [pk]
  pedido_id       int
  produto_id      int
  quantidade      int [not null, default: 1]
  preco_unitario  decimal(10,2) [not null]
  observacao_item text
}

Table pagamentos {
  id              serial [pk]
  pedido_id       int [unique]
  metodo          varchar(20) [not null]
  valor           decimal(10,2) [not null]
  data_pagamento  timestamp [default: `now()`]
  status          varchar(20) [default: 'pendente']
}

// ==================== RELACIONAMENTOS (Refs) ====================

Ref: produtos.categoria_id > categorias.id           // many-to-one

Ref pedidos_cliente: pedidos.cliente_id > clientes.id     // many-to-one (um cliente pode ter muitos pedidos)

Ref: itens_pedido.pedido_id > pedidos.id             // many-to-one
Ref: itens_pedido.produto_id > produtos.id           // many-to-one

Ref: pagamentos.pedido_id > pedidos.id               // one-to-one

Melhoria: Adição de Imagens aos Produtos

Para enriquecer a apresentação dos produtos no simulador, a tabela produtos foi atualizada para incluir uma coluna imagem_url. Isso permite associar uma URL de imagem a cada produto. O comando abaixo pode ser usado para aplicar essa alteração em um banco de dados existente.

-- Adiciona a coluna para a URL da imagem na tabela de produtos
ALTER TABLE produtos ADD COLUMN imagem_url TEXT;

Nota sobre Melhorias

No script final de criação do banco de dados (disponível na página "Criar Database"), a tabela produtos foi aprimorada com a adição da coluna imagem_url (tipo TEXT). Esta coluna permite armazenar URLs de imagens para os produtos, enriquecendo a apresentação no simulador. Portanto, o script de criação já inclui essa coluna, não sendo necessário um comando ALTER TABLE separado.