Plsql vistas

Solo disponible en BuenasTareas
  • Páginas : 2 (294 palabras )
  • Descarga(s) : 10
  • Publicado : 25 de julio de 2010
Leer documento completo
Vista previa del texto
Base de Datos II

Ing. Xavier Miranda R.

VISTAS

Vistas


¿Qué es una Vista?


Es una Consulta Almacenada la cual se puede utilizar tantas veces como se desee.



Una Vista nocontiene datos sino la instrucción SELECT necesaria para crear la consulta.

¿Por qué usar Vistas?
Para restringir el acceso a los datos  Para que consultas complejas sean fáciles  Para presentardiferentes vistas del mismo dato.


Tipos de Vista


Simples




Las conforma una sola tabla y no contiene funciones de agrupación. Permite siempre realizar operaciones DML sobreellas. Obtienen datos de varias tablas, pueden utilizar funciones de agrupación. No siempre permiten operaciones DML.



Complejas




Creando una Vista
CREATE [OR REPLACE] VIEW nombre_vista[(alias[,alias]. . .)] AS consultaSELECT [WITH READ ONLY [CONSTRAINT restricción]]


OR REPLACE: Si la vista existe, la cambia por la actual. WITH READ ONLY: Hace que la vista sea solo delectura. Permite grabar un nombre para esta restricción.



Ejecución de Comandos DML sobre VISTAS


Las instrucciones DML ejecutadas sobre las vistas permiten añadir,modificar y eliminar datos dela tabla relacionada con las filas de la vista. No es posible ejecutar instrucciones DML sobre vistas que:
  



Utilicen funciones de grupo (SUM,AVG,..) Usen GROUP BY o DISTINCT Poseancolumnas con cálculos (PRECIO* 1.16)



No se pueden añadir datos a una vista si en las tablas referenciadas en la consulta SELECT hay campos NOT NULL que no aparecen en la consulta.

Creando unaVista


Ejemplo (Sin alias):

Creando una Vista


Ejemplo (Con alias):

Recuperando Datos de la Vista

Modificando una Vista


Modificando la vista EMPVU10 usando CREATE OR REPLACEVIEW. Adicionando un alias por cada nombre de columna.

Creando una Vista Compleja


Creando una vista compleja que contiene funciones de grupo para mostrar valores de 2 tablas.

Borrando...
tracking img