Skip to content

Vistas

Las vistas son una forma de representar datos almacenados en una o más tablas de una base de datos. Actúan como una tabla virtual que puede simplificar consultas complejas, mejorar la seguridad y facilitar el acceso a los datos.

Cuando usar vistas

Las vistas son útiles en varias situaciones:

  • Simplificación de consultas complejas: Si tienes una consulta SQL complicada que necesitas ejecutar con frecuencia, puedes encapsularla en una vista para simplificar su uso.
  • Seguridad: Puedes restringir el acceso a ciertas columnas o filas de una tabla al crear una vista que solo muestre los datos necesarios. Esto es útil para proteger información sensible.
  • Reutilización de consultas: Si tienes consultas que se utilizan en múltiples lugares, puedes crear una vista para evitar duplicar el código y facilitar el mantenimiento.
  • Agregación de datos: Puedes crear vistas que agreguen datos de varias tablas, lo que facilita el acceso a información combinada sin necesidad de realizar uniones complejas cada vez.
  • Presentación de datos: Puedes crear vistas que presenten los datos de una manera específica, como ordenar o filtrar los resultados, lo que facilita la visualización de la información.

Sintaxis

Para crear una vista, envuelves una consulta SQL en la sentencia CREATE VIEW:

CREATE VIEW nombre_vista AS
SELECT columnas
FROM nombre_tabla
WHERE condiciones;

Su uso es similar al de una tabla aunque no almacena datos por sí misma, solo almacena la consulta que se ejecuta cada vez que se accede a la vista.

Acceder a una vista

Puedes acceder a una vista como si fuera una tabla normal:

SELECT * FROM nombre_vista;

Listar vistas

Para listar todas las vistas en una base de datos SQLite, puedes consultar la tabla sqlite_master:

SELECT name
FROM sqlite_master
WHERE type = 'view';

En MySQL, puedes usar:

SHOW FULL TABLES IN base_de_datos WHERE TABLE_TYPE LIKE 'VIEW';

Eliminar una vista

Para eliminar una vista, se utiliza la siguiente sintaxis:

DROP VIEW nombre_vista;