Autor

Alejandro Alcalde

Graduado en Ingeniería Informática en la ETSIIT, Granada.

Más artículos de Alejandro Alcalde

Las vistas son tablas virtuales ‘que contienen’ el resultado de una consulta SELECT, tienen la misma estructura que una tabla cualquiera, es decir, están organizadas por filas y columnas. Una de las principales ventajas de utilizar vistas procede del hecho de que la vista no almacena los datos, sino que hace referencia a una o varias tablas de origen mediante una consulta SELECT, consulta que se ejecuta cada vez que se hace referencia a la vista. De esta forma, cualquier modificación que se realice sobre los datos de las tablas de origen es inmediatamente visible en la vista, cuando ésta vuelva a ejecutarse. Su sintaxis es:


Ayúdanos a seguir escribiendo


CREATE [OR REPLACE] VIEW Nombre_vista
[(Lista de columnas)]
AS SELECT[...]

La opción REPLACE, lo que hace es, reemplazar la vista en el caso de que esta ya exista. Las vistas se utilizan de forma análoga a las tablas, permitiendo realizar consultas sobre las vistas, también se pueden realizar sentencias DML sobre las vistas, sin embargo, las modificaciones, borrados e inserciones están restringidas a vistas que estén definidas sobre una única tabla.

-- Vista para mostrar datos de departamentos y empleados
CREATE OR REPLACE VIEW my_emp_view AS
SELECT d.department_id, d.department_name,
  e.employee_id, e.first_name, e.last_name
  FROM employees e
  JOIN departments d ON d.manager_id = e.employee_id;

Vistas interactivas.

Son vistas que se definen sin utilizar el comando CREATE VIEW, sino directamente sobre el comando SELECT. Por ejemplo:

SELECT cCodCli, cNomCli, Importe
     FROM Clientes C,(SELECT SUM (Cantidad*Precio) AS Importe
        FROM Articulos a, LinPedidos l
        WHERE a.cCodArt = l.cCodArt
        GROUP BY nPedido) LP,
   Pedidos P
     WHERE c.cCodCli = p.cCodCli AND p.nPedido = LP.nPedido ;

En el caso anterior, LP actúa como una vista interactiva.

Borrado de una vista.

La orden para borrar una vista es DROP VIEW. Su sintaxis es:

DROP VIEW Nombre_vista

Siguiente Tema: Lenguaje Definición de Datos (DDL) - Índices y secuencias