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;