Vistas en postgreSQL

Las vistas (“views”) en SQL son un mecanismo que permite generar un resultado a partir de un pedido (query) almacenado, y ejecutar nuevos pedidos sobre este resultado como si fuera una tabla normal.

Por ejemplo, si tenemos unas tablas que representan autores y libros, y queremos hacer un listado plano de libros y sus autores, podemos ejecutar un query que haga una junta (join) entre estas dos tablas. Pero si posteriormente queremos pedir solo unas líneas de este resultado a partir de otro filtro, vamos a tener que re-ejecutar el query completo, agregando nuestro filtro. Obviamente es posible, pero también implica repetir operaciones anteriores. En el caso de tener pedidos complejos, esto puede resultar en una pérdida de eficiencia grande, y mucho trabajo adicional para el desarrollador.


Como usar vistas

En muchos sistemas de gestión de bases de datos, usar vistas es algo muy simple. Por ejemplo:
CREATE VIEW biblio AS SELECT a.id as aid, a.name as author, b.id as bid, b.title as book FROM author a, book b WHERE b.author_id = a.id AND a.id > 100;
creará una vista que ya tiene preseleccionados los nombres de autores superiores a 100 con sus libros, en una misma tabla.

Ahora se puede hacer un SELECT * from biblio, y tendrá los resultados ya filtrados por el query que generó la vista. Pero lo más útil es poder seguir haciendo queries más específicos ahora sobre estos resultados agrupados y ya filtrados, como
SELECT * FROM biblio WHERE author LIKE ‘%rio%’;
para encontrar todas las entradas para las cuales los autores tienen un ID superior a 100 *y* que se llamen algun nombre que contenga “rio”.

Para que ste blog siga creciendo:


Visitenos en:

Instagram