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 <guimaraescarne...@gmail.com> > > Então, mas sempre que eu quiser saber o saldo vou ter que fazer esse > calculo > desde a data de criação da conta?? > > E no futuro, não vai ficar pesado depois de muito tempo com muitas > movimentações? > > > Tarcísio Sassara wrote: > > > > Você não pode recalcular um campo com o saldo porque você perderá o > > histórico das movimentações. > > > > Você deve criar uma tabela que armazena as movimentações e inserir > > todas estas, seja positivas ou negativas. > > Fica algo como: > > cliente valor data > > 1 100.00 2009-09-09 > > 1 -50.00 2009-09-09 > > > > Quando você fizer quiser pegar o saldo, você faz um soma(SUM) na coluna > > valor. > > > > select cliente, sum(valor) > > from movimentacoes > > where cliente = 1 > > group by 1 > > > > Então é só adaptar esta idéia ao seu modelo. > > > > > > > > -- > View this message in context: > http://www.nabble.com/D%C3%BAvida-de-modelagem-de-contas-de-bancos-tp25834706p25834956.html > Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- André de Camargo Fernandes
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral