You are on page 1of 24

Vistas

Acosta, Ashley Aguilar, Aliana Cruz, Francisco Marn, Irvin Rios, Alaniel

Definicin
Alternativa para mostrar datos de varias tablas; tabla virtual que almacena una consulta. Los datos accesibles a travs de la vista no estn almacenados en la base de datos como un objeto.

Vistas Vs Consultas

Caractersticas
Forma parte del esquema externo. Tabla virtual Se puede consultar como cualquier tabla bsica.

Las actualizaciones se transfieren a la/s tabla/s


original/es

Sintaxis
CREATE | REPLACE VIEW vista
[(comalista_columna)] AS expresin_tabla [with check option]

Create Vista. (comalista_columna) si no se especifica, el nombre coincide con el nombre de los atributos resultantes en expresin_tabla. es obligatorio si algn atributo de expresin_tabla es el resultado de una funcin de agregacin o una operacin aritmtica. expresin_tabla with check option

Ejemplo
Dada la siguiente relacin de una base de datos: Cocinero (nombre:varchar, edad: number, pas:varchar) Obtn una vista con, nicamente, los cocineros franceses:

Restricciones
Borrado de filas de una tabla a travs de una vista Actualizacin de filas a travs de una vista Insercin de filas en una tabla a travs de una

vista

Restricciones para el uso de "create view"


No puede incluir las clusulas "compute" ni "compute by" ni la palabra clave "into"; No se pueden crear vistas temporales ni crear vistas sobre tablas temporales. No se pueden asociar reglas ni valores por defecto a las vistas. No puede combinarse con otras instrucciones en un mismo lote.

Creacin de una Vista


Las vistas se definen especificando una instruccin SELEC, pueden asignarse ocasionalmente un nombre a cada columna de la vista. Si se especifica una vista de

nombres de columna debe tener el mismo nmero de


elementos que el nmero de columnas generadas por la

subseleccin.

Creacin de una vista horizontal


CREATE vista Manager3Staff AS SELECT * FROM Staff WHERE branchNo = B003;

Creacin de una vista vertical


AS SELECT staffNo, fName, lName, position, sex FROM Staff WHERE branchNo = B003;

Vistas agrupadas y combinadas


CREATE view StaffPropCnt (branchNo, staffNo, cnt)
AS SELECT s.branchNo, s.staffNo, COUNT(*) FROM Staff s, PropertyForRent p

WHERE s.staffNo = p.staffNo


GROUP BY s.branchNo, s.staffNo;

Consultas

Las consultas sobre las vistas se tratan de igual modo que sobre las tablas.

Eliminacin de una vista


Si se especifica la opcin CASCADE, se borrarn todos los objetos dependientes relacionados, es decir, todos los objetos que hagan referencia a la vista.

Si

se

especifica

la

opcin

RESTRICT

(predeterminado), y hay algn objeto cuya existencia

dependa de que contine existiendo la vista que se


pretende eliminar, el comando no se ejecutar.

Actualizacin de vistas
Mediante la actualizacin de una vista las tablas base son las que reflejan los cambios realizados. Para que una vista sea actualizable el SGBD debe ser capaz de

localizar la fila o columna de la tabla base.

Motivos por los que una vista NO es actualizable


Contiene operadores conjuntistas (UNION,

INTERSECT,).
El operador DISTINCT Funciones agregadas (SUM, AVG,..)

L a clusula GROUP BY

Modificar vistas
ALTER VIEW vAlquileres AS { SELECT nombre, apellidos, matricula, fx_alquiler, fx_devolucion FROM tAlquileres, tClientes WHERE {tAlquileres.codigo_cliente = tClientes.codigo} }

Aplicaciones
Informacin derivada de consultas complejas a la que se
accede con frecuencia. Obtencin de informacin derivada de la relacin entre varias tablas y estadsticas. Como mecanismo de seguridad: creacin de vistas con, nicamente, los atributos de las tablas a los cuales se desea permitir acceder a determinados usuarios. Para la creacin de esquemas externos

Ventajas
Seguridad Simplicidad de las consultas Simplicidad estructural Aislamiento de las modificaciones

Integridad de los datos

Desventajas
Rendimiento

Restricciones de actualizacin
Restricciones de estructura

Tipos de Datos
Numricos exactos
bigint decimal int numeric smallint money tinyint smallmoney bit

Cadenas de caracteres Unicode


nchar ntext nvarchar

Numricos aproximados float Otros tipos de datos


real Cadenas binarias binary image varbinary Fecha y hora datetime smalldatetime cursor timestamp sql_variant uniqueidentifier table xml

Cadenas de caracteres
char text varchar

Gracias por su Atencin

You might also like