Saltar al contenido principal
InicioTutorialesSQL

Vistas (tablas virtuales) en SQL

En este tutorial, aprenderás qué son las vistas, los distintos tipos disponibles y las ventajas e inconvenientes de utilizarlas.
Actualizado 11 sept 2024  · 6 min leer

Los administradores y usuarios de bases de datos se enfrentarán a dos retos: escribir consultas SQL complejas y asegurar el acceso a la base de datos. A veces las consultas SQL se complican debido al uso de múltiples uniones, subconsultas y GROUP BY en una misma consulta. Para simplificar estas consultas, puedes utilizar algún proxy sobre la tabla original. Además, a veces desde el punto de vista de la seguridad, el administrador de la base de datos quiere restringir el acceso directo a la base de datos. Por ejemplo, si una tabla contiene varias columnas pero el usuario sólo necesita 3 columnas de datos, en ese caso el DBA creará una tabla virtual de 3 columnas. Para ambos fines, puedes utilizar la vista. Las vistas pueden actuar como proxy o tabla virtual. Las vistas reducen la complejidad de las consultas SQL y proporcionan un acceso seguro a las tablas subyacentes.

En este tutorial, vas a tratar los siguientes temas:

¿Qué es una Vista?

Las vistas son una versión especial de las tablas en SQL. Proporcionan un entorno de mesa virtual para diversas operaciones complejas. Puedes seleccionar datos de varias tablas, o puedes seleccionar datos específicos basándote en determinados criterios en las vistas. No contiene los datos reales; sólo contiene la definición de la vista en el diccionario de datos.

Vistas (tablas virtuales) en SQL

La vista es una consulta almacenada en el diccionario de datos, sobre la que el usuario puede consultar igual que sobre las tablas. No utiliza la memoria física, sólo se almacena la consulta en el diccionario de datos. Se calcula dinámicamente, cada vez que el usuario realiza alguna consulta sobre él. Los cambios realizados en cualquier punto de la vista se reflejan en la tabla base real.

La vista tiene principalmente dos finalidades:

  • Simplifica las consultas SQL complejas.
  • Restringe el acceso de los usuarios a datos sensibles.
Tutorial de Vistas (Tablas Virtuales) en SQL

Certifícate en SQL

Demuestra que tus conocimientos de SQL están preparados para el trabajo con una certificación.
Impulsar Mi Carrera

Tipos de vistas

  • Vista simple: Una vista basada en una sola tabla, que no contiene la cláusula GROUP BY ni ninguna función.
  • Vista del complejo: Una vista basada en varias tablas, que contiene la cláusula GROUP BY y funciones.

  • Vista en línea: Una vista basada en una subconsulta de la cláusula FROM, esa subconsulta crea una tabla temporal y simplifica la consulta compleja.

  • Vista materializada: Una vista que almacena tanto la definición como los datos. Crea réplicas de datos almacenándolos físicamente.

Tutorial de Vistas (Tablas Virtuales) en SQL

Vista simple

Tutorial de Vistas (Tablas Virtuales) en SQL

Vista compleja

Tutorial de Vistas (Tablas Virtuales) en SQL
Tutorial Vistas (Tablas Virtuales) en SQL

Vista en línea

Una vista en línea es una sentencia SELECT en la cláusula FROM de otra sentencia SELECT para crear una tabla temporal a la que pueda hacer referencia la sentencia SELECT. Las vistas en línea se utilizan para escribir consultas SQL complejas sin operaciones de unión y subconsultas. Se denomina tabla temporal porque no se almacenó en la base de datos una copia duplicada de los datos devueltos por la subconsulta almacenada. En Oracle y en la comunidad Postgres, esta tabla temporal se denomina vista en línea. Se denomina subselección.

Tutorial de Vistas (Tablas Virtuales) en SQL

Vista materializada

La vista materializada replica físicamente los datos recuperados. Estos datos replicados pueden reutilizarse sin necesidad de volver a ejecutar la vista. Este tipo de vista también se conoce como "SNAPSHOTS". La vista materializada reduce el tiempo de procesamiento para regenerar todos los datos. Ayuda a los usuarios remotos a replicar datos localmente y mejorar el rendimiento de las consultas. La parte difícil aquí es sincronizar los cambios en las vistas materializadas de las tablas subyacentes.

Tutorial de Vistas (Tablas Virtuales) en SQL
Tutorial Vistas (Tablas Virtuales) en SQL

Comparación entre vista y vista materializada

Tutorial de Vistas (Tablas Virtuales) en SQL

Crear y soltar una vista en SQL

Las vistas pueden crearse y sustituirse utilizando CREAR VISTA y SUSTITUIR VISTA.

Tutorial de Vistas (Tablas Virtuales) en SQL

La vista se puede eliminar utilizando el comando SUPRIMIR VISTA.

Tutorial de Vistas (Tablas Virtuales) en SQL

Pros y contras de las opiniones

Las vistas pueden utilizarse como subconjunto de los datos reales para realizar determinadas operaciones. Nos ayuda a proporcionar una abstracción a varios usuarios o a ocultar la complejidad para los usuarios que acceden a los datos de la tabla. Por ejemplo, un usuario tiene permiso para acceder a determinadas columnas de datos y no a toda la tabla. Puede ayudarnos a simplificar consultas complejas en otras más sencillas. También simplifica el acceso a los datos desde varias tablas unidas. Puede utilizarse como tablas agregadas mediante operaciones de agrupar por. Las vistas pueden utilizarse con fines de seguridad o pueden añadir valor adicional desde el punto de vista de la seguridad. No ocupa espacio porque sólo tiene la definición del diccionario de datos, no la copia de los datos reales.

Además de un montón de ventajas, las vistas también tienen algunos inconvenientes, como la dependencia de la estructura de la tabla base, el tiempo de cálculo y las restricciones Las vistas dependen de la estructura de la tabla. Si cambias la estructura de la tabla, tendrás que cambiar la definición de la vista asociada a ella.

Conclusión

Enhorabuena, ¡has llegado al final de este tutorial!

En este tutorial, has cubierto muchos detalles sobre Vistas. Has aprendido qué son las Vistas, tipos de Vistas, Vista simple, Vista compleja, Vista en línea, Vista materializada, Sintaxis para crear y soltar vistas y pros y contras de las Vistas.

Utiliza ahora el concepto Vistas para analizar tus propios conjuntos de datos. ¡Gracias por leer este tutorial!

Si quieres aprender más sobre SQL, sigue el curso Introducción a las bases de datos relacionales en SQL de DataCamp.

Conviértete en Ingeniero de Datos

Conviértete en un ingeniero de datos mediante el aprendizaje avanzado de Python
Temas

Cursos de SQL

Certificación disponible

Course

Introducción a SQL

2 hr
782.2K
Aprende a crear y consultar bases de datos relacionales utilizando SQL en sólo dos horas.
See DetailsRight Arrow
Start Course
Certificación disponible

Course

SQL intermedio

4 hr
245.3K
Acompañado en cada paso con consultas prácticas, este curso te enseña todo lo que necesitas saber para analizar datos utilizando tu propio código SQL ¡hoy mismo!
Ver másRight Arrow