Vistas en base de datos
Son una especie de tablas virtuales; es decir no existen físicamente sino que forman mediante la selección y/o filtrado de los componentes de otras tablas, una vista puede ser definida en base a una lista previa. Esto significa que pueden crearse dependencia entre las vistas.
Formato de definicion de vistas
DEFINE VIEW<nombre vista>
[(identif_campo1, identif_campo2,…)]
AS<operación de consulta> Ejemplo: se desea crear una vista para obtener los nombres y domicilios de los clientes adultos es deseable el establecimiento de las cabeceras nombre del cliente, domicilio del cliente.
DEFINE VIEW cliente_adulto
(nombre del cliente, domicilio del cliente)
As(select nombre,domicilio
From clientes
Where estado = ‘adulto’) Como puede verse, la especificación de los identificadores es opcional; si estos se omiten se asumiran los nombres de los campos extraidos en la consulta. La operación de consulta permite todos los formatos validos de consulta en SQL con execepción del groop by.
Cuando una vista es definida en base a otra, se se dice que es dependiente de esta por lo tanto, se suprimira automaticamente la vista dependiente si se suprime la vista original.
Eliminación de vistas
Drop view <nombre tabla>
Ejemplo: suponga que se desea crear una vista dependiente de la vista cliente adulto que contenga solamente a los clientes que viven sobre forjadores. Se desean los mismos campos y la vista sera llamada cliente_adulto_forjadores.
Define view cliente_adulto_forjadores
AS (select *
From cliente_adulto
Where domicilio_del_cliente like ‘forjadores%’)
~
~
drop view cliente_adulto (se eliminara tambien la vista cliente_adulto_forjadores, puesto que es dependiente de cliente_adulto.)
La eliminación de una tabla provoca tambien la eliminación automatica de todas las listas que se hayan definido haciendo referencia a ella.