Vistas y funciones: guardando consultas para reutilizar en PostgreSQL

Clase 23 de 29Curso de PostgreSQL

Resumen

Aprender a utilizar vistas y funciones en PG Admin facilita enormemente el manejo y la reutilización de consultas personalizadas dentro de tu base de datos PostgreSQL. Guardar consultas frecuentes te permite acceder rápido a la información, agilizando tareas repetitivas y optimizando el tiempo de consulta.

¿Qué son las vistas en PG Admin?

Las vistas, o views, son consultas SQL guardadas que puedes reutilizar cuando las necesites. En lugar de guardarlas en archivos externos como blocs de notas, PG Admin ofrece una opción sencilla y efectiva:

  • Abres la sección Views en el panel lateral de PG Admin.
  • Creas una vista con la sentencia CREATE VIEW seguida de un nombre descriptivo.

Ejemplo práctico para crear una vista:

CREATE VIEW clientes_empleados AS
SELECT * FROM clientes, empleados;

Luego, esta vista se puede utilizar como cualquier tabla:

SELECT * FROM clientes_empleados;

Esto mostrará automáticamente los resultados definidos en la consulta guardada.

¿Cómo funcionan y se crean las funciones en PG Admin?

Además de las vistas, las funciones consisten en rutinas reutilizables que ejecutan acciones específicas, recibiendo parámetros y retornando resultados personalizados.

Ejemplo básico para crear una función que calcule el total pagado por un cliente específico:

CREATE FUNCTION total_pagado_por_cliente(client_id INTEGER)
RETURNS numeric AS
$$
DECLARE
total numeric;
BEGIN
SELECT SUM(monto) INTO total
FROM pagos
WHERE customer_id = client_id;
RETURN total;
END;
$$
LANGUAGE 'plpgsql';

Después de creada, utilizas fácilmente esta función con una consulta sencilla:

SELECT total_pagado_por_cliente(524);

Este ejemplo devolverá la suma del monto pagado por el cliente con ID 524.

¿Cuáles son las ventajas de usar vistas y funciones?

Al utilizar vistas y funciones, obtienes diversas ventajas prácticas que mejoran tu productividad:

  • Reutilización simple: evita reescribir consultas complejas continuamente.
  • Organización eficaz: permite visualizar claramente consultas frecuentes y procedimientos específicos.
  • Rapidez operativa: crea reportes personalizados con consultas rápidas que agilizan tareas habituales.

Te invito a que experimentes creando tus propias vistas y funciones según las necesidades de tu flujo de trabajo en PostgreSQL.