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

Responder a