Função, significa função mesmo... do tipo: f(x) = 2x+4

Logo, se precisa apenas definir permissões ou para junção de tabelas use
view, se precisa inserir argumento como base de calculo use função.

Isso não significa que você não possa "filtrar" dados em uma view quando a
chama, porém, ela é como uma tabela carregada na memória que pode ficar bem
pesada para o seu servidor.

O que a faz mais rápida que uma tabela comum é: ao chama-lá você pula os
primeiros passos para a execução de uma query (Análise léxica, sintática
etc) pois já __compilou__ essa view e esses passos já foram executados para
aquela query.

O pessoal da lista vai saber te falar melhor sobre esses "passos" que o
banco precisa para executar uma query...


Se falei alguma bobeira, por favor me corrijam.
Jorge Vilela


2009/12/8 Osvaldo Kussama <osvaldo.kuss...@gmail.com>

> 2009/12/8 Bruno Carneiro <guimaraescarne...@gmail.com>:
> >
> > Sou estudante, estou tentando fazer o projeto de um sistema.
> >
> > Na hora de projetar o banco de dados fiquei com dúvida sobre o que era
> uma
> > view ou não.
> >
> > Porque no meu sistema, em vários momentos eu vou requisitar dados, de
> > diversas formas diferentes.
> >
> > Quando eu devo usar uma view e quando eu devo usar uma função, por
> exemplo?
> >
> > A minha dúvida não é tecnica, é conceitual. Qual a diferença entre uma
> view
> > e uma função que retorna dados?
> >
> > Informações técnicas também são bem vindas, mas a minha dúvida é mesmo
> > conceitual.
> >
> > Dentro do meu schema, eu tenho separado as funções e as views.
> >
> > Eu sei quais são todos os dados que devo pedir ao banco, só não sei como
> > devo classificá-los, se como view ou como função.
> >
> > Conjecturei que view é quando você pega dados diretos do banco, sem
> > computá-los. Já quando você faz calculos em cima deles e os combina para
> > gerar novos dados, seria uma função.
> >
> > Ok, alguém poderia me ajudar?
> >
>
>
> Em minha opinião você primeiro deve considerar:
> - Tudo o que posso fazer com uma view posso fazer com uma função?
>        SIM
>
> - Tudo o que posso fazer com uma função posso fazer com uma view?
>        NÃO
>
> - Para se fazer a mesma coisa o custo de uma função é o maior que o
> custo de uma view?
>        SIM (corrijam-me se estiver errado)
>
> Portanto para mim é uma questão de custo: se você puder resolver seu
> problema utilizando view então utilize-a, se não for possível então
> utilize função.
>
> Osvaldo
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a