Gostaria de criar meu próprio mecanismo de folha de pagamento como um site. Em aplicações Oracle ERP é muito comum ter uma data inicial e uma final nas tabelas, de forma que você pode ter valores variados ao longo do tempo. As datas de início e término também formariam a chave primária da tabela junto com um id.
Isso permite mudanças temporais (alterações ao longo do tempo). Validação adicional normalmente também é necessária para evitar sobreposições de tempo. Outro problema é que você também pode consultar em um momento em que não existem dados nesse intervalo de tempo e, em seguida, pode querer pular para o intervalo de tempo mais próximo ou último existente.
Na versão mais recente do banco de dados Oracle, a validade temporal finalmente se tornou uma coisa, veja este link ; mas ainda não chegou, por exemplo, ao Oracle APEX.
Com certeza especificar a hora em que deseja o valor deve ser algo que muita gente gostaria, principalmente para salário ao longo do tempo, endereço, etc.
Por que as estruturas de desenvolvimento da Web (especificamente Python Flask com SQL Alchemy e Postgresql) e tutoriais para elas nunca mostram como fazer dados temporais como este ou estou perdendo coisas que existem prontamente? Ou o que posso fazer para mudar esse fato além de escrevê-lo eu mesmo, o que definitivamente não estou fazendo?
A manipulação 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 para tutoriais sobre essas ferramentas seria, sem dúvida, mostrar como fornecer conteúdo em geral (seja qual for o 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 deve (em teoria) ser relativamente simples.
Como observação, se você deseja um plug-in para habilitar tabelas temporais no PostgreSQL, deve dar uma olhada em temporal_tables .