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