Una VIEW podemos definirla como una tabla virtual con su conjunto de filas y columnas, cuyo contenido está definido por una consulta SELECT sobre una o más tablas. Esto quiere decir, que los datos que contienen no están almacenados realmente en la vista, si no que se generan de manera dinámica de acuerdo a la consulta que ejecuten.
Las VIEW, se utilizan a menudo como filtros de las tablas de las que recogen datos y es por ello que se utilizan a menudo como mecanismos de seguridad, ya que permiten al usuario tener acceso de visibilidad de los datos, pero no a las tablas reales subyacentes. También se utilizan a menudo para simplificar y personalizar la visualización de los datos para el usuario.
SELECT que define la VIEW puede provenir también de otras vistas del sistema.En SQL Server, existen diferentes tipos de vistas:
-
Vistas de usuario: tablas virtuales definidas por el usuario cuyo contenido está definido por una consulta.
-
Vistas indexadas: cuyos datos se han almacenado como una tabla real ya que se han indizado a través de un índice clúster único. Este tipo de vistas mejoran mucho el rendimiento en algunos tipos de consultas que devuelven muchos registros.
-
Vistas con particiones: combinan datos horizontales con particiones de un conjunto de tablas miembro en uno o más servidores.
-
Vistas del sistema: específicas para consultar metadatos del sistema.
En el siguiente apartado nos centraremos en la ejemplificación de las sentencias DDL para la creación, actualización y eliminación de vistas de usuario:
CREATE VIEW
CREATE VIEW es la sentencia DDL para la creación de vistas. La sintaxis es la siguiente:
CREATE VIEW nombreVista AS SELECT ...
Pasemos ahora a crear nuestra vista de ejemplo:
Una vez creada, podemos desplegar los componentes de nuestra base de datos y visualizarla en el subdirectorio: Views

Para ejecutar la nueva VIEW, basta con hacer una SELECT sobre ella:
| nombre | apellidos | producto | descripcionProducto | precio |
|---|---|---|---|---|
| María | López Ruiz | Play Station 5 | Consola Sony | 549,95 |
| María | López Ruiz | Xbox series X | Consola Xbox | 499,99 |
| Fernando | García Rodríguez | MacBook Pro M1 | Portátil Apple | 2449,5 |
Como vemos, la VIEW muestra en una tabla virtual, el conjunto de resultados devueltos por laSELECT sobre las tablas Clientes y Pedidos.
ALTER VIEW
ALTER VIEW, es la sentencia DDL para la actualización de vistas. La sintaxis es la siguiente:
ALTER VIEW nombreVista AS SELECT ...
Pasemos ahora a actualizar nuestra VIEW: vista_ejemplo
ALTER VIEW vista_ejemplo AS
SELECT nombre,
apellidos,
producto,
descripcionProducto,
precio
FROM Clientes
INNER JOIN Pedidos
ON Clientes.idClientes = Pedidos.idClientes
WHERE precio >= 450
AND descripcionProducto LIKE '%Consola%';
Si ejecutamos la consulta, veríamos que solo devuelve los dos primeros registros anteriores al añadirle la condición con la cláusula LIKE.
| nombre | apellidos | producto | descripcionProducto | precio |
|---|---|---|---|---|
| María | López Ruiz | Play Station 5 | Consola Sony | 549,95 |
| María | López Ruiz | Xbox series X | Consola Xbox | 499,99 |
DROP VIEW
DROP VIEW, es la sentencia DDL para la eliminación de vistas. La sintaxis es la siguiente:
DROP VIEW nombreVista;
Pasemos ahora a eliminar nuestra VIEW: vista_ejemplo