Então, minha única dúvida ai seria se no futuro, o usuário modificasse movimentações do passado, neste caso teria que re-calcular o saldo daquele dia.
E se o saldo desse dia muda, todos os saldos dos dias posteriores teriam que mudar também... Opções 1- Quando modificar o saldo de um dia, re-calcular os dias posteriores ou 2- Na tabela de saldo_diário, armazenar somente o saldo DAQUELE DIA, quando quiser saber o saldo, fazer um sum de todos os dias até aquele. Creio que a primeira idéia seja melhor, já que não será muito comum modificar saldos de dias anteriores... afinal uma vez passada a data, não tem como mais fazer movimentação nela ( teoricamente ), a não ser que tenha havido algum engano que precise ser corrigido. Andre Fernandes-2 wrote: > > Bom dia, > > Uma abordagem possível é guardar o saldo em uma tabela (por exemplo, uma > tabela contendo o saldo diário, no início do dia referente) e então somar > (ou subtrair) apenas as movimentações do dia referido. Muitos bancos > utilizam essa abordagem, pois não se perde histórico nem usa todo o > histórico para cálculos de saldo. > > Exemplo: > create table saldo_diario > (numero_conta bigint, > dia_referencia date, > valor numeric(18,3) > ); > > create table movimentacao > (numero_conta bigint, > tipo_movimentacao bigint, -- supondo ser chave estrangeira, isto é um > exemplo apenas > valor numeric(18,3) > ); > > cria-se então uma função que calcula o saldo referente ao dia anterior e > grava o valor em saldo_diario. Essa função seria rodada à 00h10 de todo > dia, > por exemplo. > > > > Espero que esteja compreensível a idéia que passei, qualquer dúvida (se > algo > ficou confuso) é só perguntar. > > Atenciosamente, > André. > > 2009/10/10 Bruno Carneiro <[email protected]> > > > > -- View this message in context: http://www.nabble.com/D%C3%BAvida-de-modelagem-de-contas-de-bancos-tp25834706p25835162.html Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
