Você está na página 1de 8

ASIGNATURA:

Base de Datos para Aplicaciones



Unidad I.
Manipulacin avanzada de datos con SQL.

Practica 2. Vistas

INTEGRANTES:
JUAN PABLO DIAZ SNCHEZ
REYMUNDO GERARDO SANTIZ GMEZ
LUIS ALONSO VILCHIS GONZLEZ
BIANCA ANDREA SANTIZ GMEZ
LUIS ALFREDO HERNNDEZ PREZ

GRADO Y GRUPO:
8 CUATRIMESTRE C

TURNO:
VESPERTINO

PROFESOR:
Plinio Gregorio Romero Lpez
Concepto de Vista
Una vista es una tabla virtual cuyo contenido est definido por una
consulta. Al igual que una tabla real, una vista consta de un conjunto de
columnas y filas de datos con un nombre.

Una vista es una consulta, que refleja el contenido de una o ms tablas,
desde la que se puede acceder a los datos como si fuera una tabla.

son un mecanismo que permite generar un resultado a partir de un
pedido (query) almacenado, y ejecutar nuevos pedidos sobre este
resultado como si fuera una tabla normal.

Creacin y uso de vistas
Sintaxis de Creacin de Vista

Para crear una vista debemos utilizar la sentencia CREATE VIEW,
debiendo proporcionar un nombre a la vista y una sentencia SQL
SELECT vlida.

CREATE VIEW <nombre_vista> AS (<sentencia_select>);

CREATE [OR REPLACE] VIEW NOMBREVISTA [(COLUMNA
[,COLUMNA])] AS CONSULTA;

AS CONSULTA= Determina las columnas y las tablas que aparecern
en la vista.
[OR REPLACE]= Crea de nuevo la vista si ya exista.

Sintaxis de Modificacin de Vista

Si queremos, modificar la definicin de nuestra vista podemos utilizar la
sentencia ALTER VIEW, de forma muy parecida a como lo hacamos
con las tablas. En este caso queremos aadir los campos fx_alquiler y
fx_devolucion a la vista.

ALTER VIEW vAlquileres AS ( SELECT nombre,
apellidos, matricula, fx_alquiler,
fx_devolucion FROM tAlquileres, tClientes WHERE (
tAlquileres.codigo_cliente = tClientes.codigo ))


Sintaxis de Eliminacin de Vista


Podemos eliminar la vista a travs de la sentencia DROP VIEW. Para
eliminar la vista que hemos creado anteriormente se utilizara

DROP VIEW vAlquileres;
DROP VIEW nombre_Vista;
Ventajas Desventajas
Se pueden realizar las mismas
operaciones que se hacen sobre las
tablas

Si una vista est basada en una sola
tabla, se pueden modificar las filas de
la vista.

Seguridad, que los usuarios tengan
acceso a una parte de la informacin
que hay en una tabla, pero no a toda
la tabla.

Comodidad, simplificacin para
visualizar los datos

Acta como filtro de las tablas
subyacentes a las que se hace
referencia en ella
Esta limitado al resultado de
columnas que predefiniste y para
ampliarlo debes reescribir el cdigo.

En una vista no puedes usar
variables , para ello utilizaras
funciones.

Si se suprime una tabla la vista
asociada se invalida

No es posible insertar filas si las
columnas de la vista contiene
clculos o funciones.

No todos los gestores de bases de
datos permiten actualizar vistas

No siempre podremos actualizar los
datos de una vista, depender de la
complejidad de la misma

Ejemplos
1. Crear una vista para mostrar el costo total del inventario de la casa matriz
Create view invMatriz as select sum(can_art * pre_com) from articulos, matriz
where articulos.cve_art = matriz.cve_art;

2. Mostrar el total de todas las estufas marca MABE (cve_art like (EST%))
Create view estufaMabe select count(can_art) from matriz, articulos where
mca_art = MABE and matriz.cve_art = articulos.cve_art and des_art like
EST%;

3. Mostrar el precio de compra mayor.
create view mayorPrecio as select des_art, pre_com from articulos, matriz
where pre_com = (select max(pre_com) from articulos, matriz
where articulos.cve_art =matriz.cve_art) and articulos.cve_art = matriz.cve_art;

4. Mostrar el precio de compra menor, y diferente de 0.
create view menorPrecio as Select des_art, pre_com from articulos, matriz
where pre_com =(select min(pre_com)from articulos, matriz where pre_com
<>0 and articulos.cve_art = matriz.cve_art) and articulos.cve_art =
matriz.cve_art;
5. Mostrar una lista de los proveedores de los artculos con existencia 0.
create view provNulos as Select distinct(pro_art) from articulos, matriz
where can_art = 0 and articulos.cve_art= matriz.cve_art;


6. Mostrar una lista de los artculos con existencia 0 junto con sus
proveedores.
create view artAgotad as Select des_art, pro_art from articulos, matriz
where can_art=0 and articulos.cve_art = matriz.cve_art;


7. Mostrar una lista de las categoras de los artculos en existencia.
create view categorias as Select distinct(cat_art) from articulos, matriz
where can_art >0 and articulos.cve_art= matriz.cve_art;


8. Mostrar todos los artculos a la venta ordenados por sus existencias y
descripcin.
create view articulos as select des_art,can_art from articulos, matriz
where articulos.cve_art = matriz.cve_art order by can_art, des_art;
9. Mostrar el total de artculos a la venta.
create view vista10 as select sum(can_art ) from articulos, matriz
where can_art>0 and matriz.cve_art=articulos.cve_art;



10. Mostar el total de existencias de la estufa con clave ESTMA1600
create view ESTMA1600 as select des_art, can_art from articulos, matriz
where matriz.cve_art ='ESTMA1600' and articulos.cve_art = matriz.cve_art;

Você também pode gostar