Vamos a plagiar un poco al manual de Oracle, por ejemplo (la idea es aplicable a todos los DBMS, variando alguna sintaxis):
Cita: Una vista es una tabla lógica basada en los datos de otra tabla.
Ejemplo:
Código SQL:
Ver originalCREATE VIEW V_PEDIDOS (NUMPEDIDO, FECPEDIDO, NUNCLIENTE, NOMCLIENTE)
FROM
SELECT A.NUMPEDIDO,A.FECPEDIDO,A.NUMCLIENTE, B.NOMCLIENTE
FROM T_PEDIDOS A, T_CLIENTE B
WHERE A.NUMCLIENTE=B.NUMCLIENTE;
Esta vista sacará lo datos de los pedidos con el nombre de cliente.
Al ser lógica no necesita espacio de almacenamiento para los datos. Ademas es instantanea, una vez modificados los datos de las tablas origen, los tenemos disponibles en la vista.
Son más seguras que una consulta ante sqlinjection, permite restringir el acceso a la base por los usuarios, y permiten definir que sólo puedan acceder a cierta información, inmodificable.