2009/8/31 Bruno Carneiro <[email protected]> > > <corte> > > Então, vou criar uma função que gera pra mim um relatório, e essa função > deve me retornar um dado composto, cada linha uma venda e cada coluna > detalhes sobre esta venda. > > Acontece que para retornar esse tipo composto, se eu seguir o exemplo, vou > ter que criar uma tabela relatório, sendo que não vou armazenar nada nesta > tabela, ela seria apenas o modelo para o retorno da minha função. > > Preciso criar um tabela, ou posso definir um tipo sem criar tabela? > > Não precisa criar tabela, a não ser que seja esse o tipo de retorno desejado.
Creio que na documentação você precisa dar uma olhada em [1], [2] e [3]. Outra coisa, enquanto escrevia este post, uma coisa me veio a mente: Ao > invés de criar uma função que gere esse relatório, eu poderia no ato da > venda, fazer todos os calculos de relatorio e gravar no campo de vendas. > Por > exemlo, lucro, despesas, comissões, tudo isso não varia depois da venda. > Acho que o corretor seria eu calcular e gravar esses valores na hora da > venda, quando for solicitado relatório eu apenas iria consultar esses > dados. > É melhor não é? > > Essa sua abordagem irá diminuir o custo na hora da emissão do relatório, pois o teu sistema não precisará processar essas informações neste momento pois elas já estarão disponíveis. Agora saber se essa é a melhor opção quem pode dizer é você... da sua modelagem... dos resultados esperados... enfim são vários fatores a considerar para dizer se essa abordagem é melhor que a outra... Espero não ter gerado mais dúvidas, mas tem que pensar no todo da aplicação (Desempenho, Manutenção da Arquitetura, Complexidade, etc). [1] http://www.postgresql.org/docs/8.4/interactive/rowtypes.html [2] http://www.postgresql.org/docs/8.4/interactive/sql-createtype.html [3] http://www.postgresql.org/docs/8.4/interactive/xtypes.html -- Fabrízio de Royes Mello >> Blog sobre TI: http://fabriziomello.blogspot.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
