Skip to main content

Especificações do Banco de Dados

O sistema utiliza PostgreSQL 17 como banco de dados relacional principal. A estrutura do banco foi projetada para atender às necessidades específicas do sistema de gerenciamento da CPTM.

Tabelas Principais

Usuários (usuarios)

  • Gerenciamento de contas de usuário
  • Campos para notificações e preferências
  • Autenticação via email/senha

Linhas (linhas)

  • Registro das linhas de trem
  • Status operacional via enum (STATUS_LINHA)
  • Informações de identificação visual (cor)

Estações (estacoes)

  • Cadastro de estações
  • Vinculação com linhas
  • Informações de localização

Trens (trens)

  • Monitoramento em tempo real
  • Informações de posicionamento
  • Recursos especiais (ex: carro para bicicletas)

Bilhetes (bilhetes)

  • Registro de compras
  • QR Code para validação
  • Informações de origem/destino

Chamados (chamados)

  • Sistema de tickets/reclamações
  • Diferentes tipos via enum (TIPO_CHAMADO)
  • Acompanhamento de status

Tipos Enumerados (ENUMs)

STATUS_LINHA

  • Operando
  • Parcial
  • Parada

TIPO_CHAMADO

  • Emergência
  • Reclamação
  • Sugestão

STATUS_CHAMADO

  • Aberto
  • Em análise
  • Fechado

Relacionamentos

As tabelas são interligadas através de chaves estrangeiras, permitindo:

  • Rastreamento de bilhetes por usuário
  • Vinculação de estações às linhas
  • Associação de chamados a usuários
  • Gerenciamento de favoritos

Especificações Técnicas

  • Versão: PostgreSQL 17
  • Encoding: UTF-8
  • Collation: Default do PostgreSQL
  • Tipos de Dados:
    • BIGSERIAL para IDs
    • TEXT para campos de texto
    • TIMESTAMP para datas
    • INTEGER para referências
    • FLOAT para valores monetários
    • BOOLEAN para flags