Tô montando uma arquitetura para um sisteminha de índices
inflacionários(compostos por índices e fórmulas), gostaria de uma opnião com
as tabelas e algumas consultas do meu BD:
O Sistema tem um Administrador(que na verdade é um operador Excel!!!), e ele
quer que cada movimento do usuário (como logar no sistema e gerar relatório)
sejam registrados em uma tabela "Histórico"(como quando ele se loga) ou
"Consulta" cada vez que o usuário gerar um relatório.O sistema é pequeno(500
usuários e de 1000 a 2000 relatórios/dia).
O usuário NÃO se cadastra no sistema, somente o Administrador faz isso.A
única coisa que o usuário normal faz é gerar relatório, compreendendo um
período de consulta(por exemplo 02/2000 a 12/2006), e o num de uma fórmula,
em geral nesse formato:
 F=(((0,4*(TrAt/TrAn))+(0,6*(FbAt/FbAn)))-1);
Onde Tr e Fb são índices(Trigo e Fécula de batata) e "At" e "An" são para
Atual(a data mais nova) e Anterior(a data antiga).
Exemplo de índice:
1 Tr Trigo
Exemplo de valor_índice:
1 01/2001 1,2901  sem aumento

Ou seja, Além de Usuário,Histórico e Consulta, meu sistema tem só outras
poucas tabelas,a saber:
Fórmula(ID DESC FORMULA),Indice(ID SIMBOLO NOME) e Valor_Indice(ID DATA
VALOR COMENTARIO).Quando o usuário
digitar uma data(formato mês/ano) inicial e uma final + o número da fórmula
e gerar o formulário, o sistema automaticamente pega o valor respectivo de
cada Indice componente de fórmula e entrega no relatório o cálculo de cada
indice da fórmula  no período e o da própria fórmula(em %).
Via Java, eu pegava cada fórmula, quebrava via REGEX, pesquisava pelos
ìndices e reconstruía a fórmula de novo, o que dava um baita trabalho porquê
as fórmulas variam de 1 a 8 índices e guardar a  posição em String de cada
componente variável ficava confuso e "ErrorProne".Preferi criar métodos java
para cada tipo de fórmula(de 1 a 8 indices) passando para cada fórmula os
respectivos
índices e pesos para cálculo. Para isso eu criei dois campos na tabela
Fórmula chamado Indices e Pesos.
Depois desse preâmbulo todo(eu falo-escrevo- né?haha), vem as minhas 3
perguntas:

1)Acham a abordagem razoável criando Índices e Pesos linkada a Formula?Ou
prefeririam tudo isoladamente.Exemplo atual:
id desc formula indices pesos
166 Formula do Pão ((0,4*(TrAt/TrAn))+(0,6*(FbAt/FbAn))-1) Tr;Fb  0,4;0,6

2)Como vcs manteriam a tabela Histórico do usuário, a minha tá assim:
Histórico(id_histórico,ID_USUARIO,DT_ACESSO,EMPRESA) e Consulta(id, data)
Fundiriam Histórico com Consulta?Nota:Não haverá ADM de DB, por isso eu
preciso que a base seja o mais "fácil" possível para o Administrador do
Sistema, pois ele é leigo. Ah, para quem achar útil, o sistema crescerá no
máximo, 500KB (ao MÊS).

3)Essa é mais técnica:
Quando o usuário digitar o período, só gostaria de exibir no relatório o
campo "comentario" de valor_indice se for o MÊS corrente, ou seja se o
periodo for entre 02/2001 e 09/2008 não exibir nada, mas se for 03/2006 a
11/2008 exibir esse campo(de 11/2008) e o respectivo comentário.Sou novato
em PostGreSQL, tem alguma função pronta para isso?


                                                                 um abraço á
todos!

-- 
DRDias
Desenvolvedor de Sistemas Baseados em Java
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to