Gestão de frotas
Estou tendo dificuldades para modelar um banco de dados para um projeto que estou desenvolvendo com as tecnologias Prisma e NestJS e Postgress. Preciso criar um sistema que permita registrar as manutenções e abastecimentos dos carros da minha frota, e também calcular a eficiência em termos de quilômetros por litro (KM/L) de cada motorista e do carro em geral.
Para isso, acredito que será necessário criar tabelas que armazenem informações sobre os carros (como modelo, placa, ano, entre outras), os motoristas (nome, CPF, CNH, etc.), além de dados sobre manutenções (tipo, data, custo, etc.) e abastecimentos (data, quantidade, valor, etc.). Também será importante pensar em como calcular a eficiência em termos de KM/L para cada carro e cada motorista, considerando variáveis como o tipo de combustível utilizado e a distância percorrida.
Se alguém puder me ajudar com sugestões de como estruturar esse banco de dados, bem como como criar as tabelas e as consultas necessárias para realizar esses cálculos, eu ficaria muito agradecido.
No início, pensei em criar um sistema web no qual o motorista teria um login e senha e poderia se vincular a um carro pela manhã, inserindo o ID do veículo. Ele também seria responsável por inserir a quilometragem inicial do carro no início do dia e, no final do dia, inserir a quilometragem final. Dessa forma, seria possível calcular a quilometragem percorrida pelo carro ao longo do dia.
No entanto, para calcular a eficiência em termos de KM/L, seria necessário ter informações precisas sobre o consumo de combustível do veículo. Uma opção seria pedir que o motorista abastecesse o veículo antes de iniciar uma viagem e, em seguida, registrar a quantidade de litros abastecidos e a quilometragem percorrida. Com essas informações, seria possível calcular a eficiência em termos de KM/L (dividindo a quilometragem percorrida pelo número de litros abastecidos). Porem, nem toda vez seria necessário abastecer esse carro, possa ser que a viajem seja curta. Como resolver esse problemão, não encontrei referencias publicas de como outras empresas fazem isso.