Vistas y funciones: guardando consultas para reutilizar en PostgreSQL
Clase 23 de 29 • Curso 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.