[Pgsql-ayuda] Vistas

Sebastián Villalba sebastian@fcm.unc.edu.ar
Mon, 15 Dec 2003 11:50:13 -0300


On Mon, 15 Dec 2003 14:30:38 +0000, Edwin Quijada wrote
> Hola!
> Estoy tratando de usar una nvista ,nunca las he usado, y no entiendo 
> cuales podrian ser las ventajas de estas. Otra cosa como se 
> actualiza esta vista? Es dinamica o cada vez que la llamo el select 
> que la define se ejecuta? Cual es la difrencia entre hacer el select 
> siempre y tener una vista activa?

Hola Edwin. La verdad que pocas veces respondí porque teniéndo en la lista a
exponentes como Alvaro, Martín Marqués, Manuel Sugawara entre tantos otros,
los aportes que puedo hacer, son sin duda muy pocos valiosos en comparación
con los que hacen ellos. No obstante ésta vez me animo.

El manejo de vistas tiene muchas ventajas. Por ejemplo esconder a ciertos
usuarios cierta información de tablas que no deseas que vean. Solamente le
mostrás parte de información que podés tener en alguna tupla. Otra ventaja es
que podés mostrar como si fuese una única tabla valores que figuran en
diferentes tablas. Podés manejar las vistas tal cual como si fuesen tablas
almacenadas en la base de datos, únicamente que no ocupan el espacio ya que se
generan cada vez que son consultadas.

Lógicamente que si podés tratar a las vistas como si fuesen tablas, podés
necesitar actualizar algunos datos, aquí para poderlo hacer, tenés que tener
en cuenta que el usuario para actualizar la vista, tiene que tener permisos
para actualizar las tablas bases (las que se consultan en el momento de
generar la vista) y que el resultado de esa consulta que genera la vista, no
tiene que tener operaciones de filas como "group by" por ejemplo ya que éstas
no permiten identificar unívocamente el registro que debe ser actualizado en
las tablas bases.

Seguramente hay muchas otras bondades que ofrecen las vistas y que los genios
de la lista sabrán explicar. Espero haberte sido útil en algo. Saludos...

-----------------------------
Sebastián Villalba
sebastian@fcm.unc.edu.ar
-----------------------------