Vistas Materializadas en SQL: Como optimizar tus consultas y reportes.

Clase 29 de 36Curso de Bases de Datos con SQL

Resumen

¿Por qué son importantes las vistas en la transformación de datos?

Al abordar el análisis de datos, un paso crucial es la transformación, donde típicamente empleamos diversos recursos. Las vistas temporales, las tablas temporales, las vistas materializadas y los procedimientos almacenados son solo algunos de estos recursos esenciales. Estos recursos facilitan la transformación de datos como parte del proceso ETL (Extracción, Transformación y Carga). Además, las vistas nos ofrecen una ventaja significativa: limitan la cantidad de datos mostrada al usuario final, mejorando la eficiencia y rendimiento de nuestras consultas.

¿Cómo se crea una vista?

Crear una vista dentro de la sintaxis de consola es sencillo pero requiere atención a ciertos detalles. Utilizamos la palabra reservada CREATE VIEW, seguida del nombre deseado para la vista. Posteriormente, empleamos el término AS para especificar la consulta que configurará la vista.

CREATE VIEW vista_estudiantes AS
SELECT *
FROM estudiantes;

Este ejemplo básico selecciona todos los campos de la tabla "estudiantes". Aunque las vistas son conceptos distintos a las tablas, el resultado se encuentra en una sección llamada "vistas" al actualizarlas.

¿Cómo se optimiza una vista para mostrar solo datos necesarios?

Normalmente, el propósito principal de una vista no es mostrar todos los campos de una tabla, sino limitar los datos mostrados sólo a lo relevante para el usuario.

Por razones de seguridad, muchas veces es necesario restringir la información accesible para ciertos usuarios. Podemos lograrlo llamando específicamente los campos deseados. Por ejemplo, si queremos mostrar solo la clave primaria, el primer nombre y el apellido de las personas, se podría modificar así:

CREATE OR REPLACE VIEW vista_estudiantes_ligera AS
SELECT clave_primaria, primer_nombre, apellido
FROM estudiantes;

Podemos recrear o modificar una vista usando CREATE OR REPLACE, que no requiere la palabra reservada UPDATE ya que está destinada solo a la manipulación de datos en tablas.

¿Cómo se elimina una vista?

Si una vista ya no es necesaria o fue creada por error, eliminarla es simple usando DROP VIEW. Este comando elimina la vista de la base de datos de forma rápida y efectiva.

DROP VIEW vista_estudiantes_ligera;

El comando DROP es el mismo utilizado para la eliminación de tablas, añadiendo la palabra reservada VIEW para indicarle que aplicaremos la acción sobre una vista.

¿Cómo avanzar en la práctica de la creación de vistas?

Te invito a crear una vista usando otra tabla de tu base de datos y realizar una consulta más elaborada. Intenta aplicar lo que has aprendido, como los JOIN y condicionales. Comparte tu experiencia y tus consultas recreadas en los comentarios, ¡y hazme saber si tienes preguntas! La práctica es la clave para el dominio de la transformación de datos y cada intento te acerca más a la maestría en el manejo de bases de datos.