-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Em 17-05-2013 17:03, Erison Gmail escreveu:
> Dickson
> 
> Agradeço sua ajuda, já ate utilizo este tipo de SQL para relatórios
> de ano atual, mas meu sistema é multi escola e multi anual, tenho
> escolas que já tem arquivados dados de 8, 10 anos


A dificuldade da implementação está em ele ser multi-escola? Isso se
reflete como no banco? É separado por esquemas ou o identificador de
escola (codigo) faz parte das tabelas do sistema?


> Consistir em bancos essas medias, seria interessante pois não teria
> que refazer estes cálculos toda chamada principalmente de
> gráficos...


Apenas para constar você pode ter uma rotina que de tempos em tempo
cria tabelas de menor granularidade e que agregam dados. Por exemplo
você pode ter uma rotina semanal ou mensal que insere dados em uma
tabela a partir de uma consulta usando o próprio SQL. Em outras
palavras você pode fazer:

INSERT INTO media_notas
SELECT cod_escola, cod_turma, cod_aluno, avg(nota)
FROM ....
WHERE ....
;


> Trabalho com flags de situação das turmas e matriculas para gerar
> como um arquivo eletrônico dos resultados finais somente
> 
> Por isso queria usar as funções par tirar da aplicação os cálculos,
> usando ou triggers ou fuctions


Nada impede de você utilizar funções, é um detalhe de implementação,
mas é aconselhado que, sempre que você puder construir uma logica em
SQL faça-o. Mesmo que você queira fazer um laço para percorrer os
resultados e executar algo para cada linha retornada, ainda assim é
possível fazer um laço sobre os mesmos, em plpgsql por exemplo.
Entretanto não podemos esquecer que se o laço for feito apenas para
atualizar um outro conjunto de dados, ainda assim é possível tirá-lo
da jogada e manter apenas o SQL (sim você consegue fazer um UPDATE
tabela SET campoA = outra_tabela.campoB FROM outra_tabela WHERE
tabela.cod_x = outra_tabela.cod_y).


A questão é que eu ainda não entendi bem o seu problema. Talvez se
você nos explicasse mais detalhes quem sabe poderíamos entender melhor
e indicar melhores caminhos para seguir de forma a tirar um bom
proveito dos recursos paquidérmicos de nosso elefante.


[]s
- -- 
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
http://github.net/guedes - twitter: @guediz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJRlu4SAAoJEBa5zL7BI5C7klUH/2FStRmBIx+Jg2yNrQl4FhJm
6rPHeAvjAVISbnjcxxqBwFhlFjbtzs2FvE1470UGi35gu21GXfIVX65tvPSlnk3D
VDuvl6OKeeQw0XXHhB6/lqnUM+f33l9xCc3NaxlT3ekfgrk8s+IqKngP+W2pYMJO
qSoLO37/MJYxARSmY2sl9w4wtgBsgx7mQYQoStJO+JfA8KsM7jtKjiM9QxeVj8mt
wE40vFw9lSNxrJtv5QIVZqiu00QQ+s4iWWjCOnzrppFEignOJptEMJCGocoC7s4J
UMRF0K2Xt3faNTNwIZo+T1Usru9xeEiqd1Yqn+8LvxX9ObdLG6nGvhCA3Rhn9U0=
=amTU
-----END PGP SIGNATURE-----
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a