
Gostaria de criar meu próprio mecanismo de folha de pagamento como um site. Nas aplicações Oracle ERP é muito comum ter uma data de início e uma data de término nas tabelas, para que você possa ter valores variados ao longo do tempo. A data de início e término também formaria a chave primária da tabela junto com um ID.
Isso permite mudanças temporais (mudanças ao longo do tempo). Normalmente também é necessária validação adicional para evitar sobreposições de tempo. Outro problema é que você também pode consultar em um momento em que não existam dados nesse intervalo de tempo e, então, você pode querer pular para o intervalo de tempo mais próximo ou último existente.
No último lançamento do banco de dados Oracle, a validade temporal finalmente se tornou uma coisa, vejaesse link; mas ainda não chegou, por exemplo, ao Oracle APEX.
Com certeza especificar o horário em que você deseja o valor deve ser algo que muita gente desejaria, principalmente quanto ao salário ao longo do tempo, endereço, etc.
Por que as estruturas de desenvolvimento web (especificamente Python Flask com SQL Alchemy e Postgresql) e os tutoriais para eles nunca mostram como fazer dados temporais como este ou estou faltando coisas que existem prontamente? Ou o que posso fazer para mudar esse fato além de escrevê-lo, o que definitivamente não estou fazendo?
Responder1
Por que as estruturas de desenvolvimento web (especificamente Python Flask com SQLAlchemy e PostgreSQL) e os tutoriais para elas nunca mostram como fazer dados temporais?
O tratamento de tabelas temporais é uma função específica de um determinado banco de dados. Por outro lado, ferramentas como Flask e SQLAlchemy são projetadas para uma ampla gama de aplicações. Assim, a principal preocupação dos tutoriais sobre essas ferramentas seria, sem dúvida, mostrar como entregar conteúdo de forma geral (qualquer que seja esse conteúdo), em vez de focar em casos de uso específicos. Se um usuário final for suficientemente versado em uma determinada estrutura, etc., projetar uma interface para dados temporais deveria (em teoria) ser relativamente simples.
Como observação lateral, se você deseja um plugin para habilitar tabelas temporais no PostgreSQL, você deve dar uma olhada emtabelas_temporais.