Índice

Utilizar vistas

1. Definición

Una vista es una consulta SELECT cuya definición se almacena con un nombre en la base de datos.

La vista no almacena datos; los datos presentados por la vista vienen de las tablas examinadas por la consulta de la vista.

Una vista se utiliza como una tabla. Ciertas vistas pueden utilizarse en sentencias de actualización (INSERT, UPDATE, DELETE) para modificar datos de tablas subyacentes. Para que una vista pueda ser utilizada en una actualización, es necesario que haya una relación de uno a uno entre las filas devueltas por la vista y las filas de la tabla subyacente. Una vista no puede utilizarse para una actualización si la consulta que la define contiene una de las siguientes construcciones:

  • Una cláusula DISTINCT.

  • Expresiones en la cláusula SELECT (prohíbe las sentencias INSERT pero no las sentencias UPDATE que modifican únicamente las columnas que no son calculadas).

  • Agregados, uniones, subconsultas en la cláusula SELECT (véase el capítulo Técnicas avanzadas con MySQL - Utilizar subconsultas).

Las vistas se utilizan principalmente para:

  • Facilitar el acceso a los datos: la consulta utilizada para definir la vista puede ser compleja e incluir, por ejemplo, combinaciones entre varias tablas. Las consultas que utilizan la vista son, así, más fáciles de escribir.

  • Mejorar la seguridad del acceso a los datos: la consulta utilizada para definir la vista puede ocultar columnas (columnas no seleccionadas en la cláusula SELECT ...