Sei sulla pagina 1di 5

TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC

MART IN HERRERA VERA

TAREA: VISTAS EN SQL Gonzlez Castro Virginia

Vista (base de datos) En teora de bases de datos, una vista es una consulta accesible como una tabla virtual en una base de datos relacional o en un conjunto de documentos en una base de datos orientada a documentos. Las vistas tienen la misma estructura que una tabla: filas y columnas. La nica diferencia es que slo se almacena de ellas la definicin, no los datos. Los datos que se recuperan mediante una consulta a una vista se presentarn igual que los de una tabla. De hecho, si no se sabe que se est trabajando con una vista, nada hace suponer que es as. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas. Una vista se especifica a travs de una expresin de consulta (una sentencia SELECT) que la calcula y que puede realizarse sobre una o ms tablas. Sobre un conjunto de tablas relacionales se puede trabajar con un nmero cualquiera de vistas. La mayora de los SGBD soportan la creacin y manipulacin de vistas. Las vistas se crean cuando se necesitan hacer varias sentencias para devolver una tabla final.

Las vistas (views) en SQL 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.

Como usar vistas En muchos sistemas de gestin de bases de datos, usar vistas es algo muy simple. Por ejemplo: CREATE VIEW biblio AS SELECT a.id as aid, a.name as author, b.id as bid, b.title as book FROM author a, book b WHERE b.author_id = a.id AND a.id > 100; Crear una vista que ya tiene preseleccionados los nombres de autores superiores a 100 con sus libros, en una misma tabla. Ahora se puede hacer un SELECT * from biblio, y tendr los resultados ya filtrados por el query que gener la vista. Pero lo ms til es poder seguir haciendo queries ms especficos ahora sobre estos resultados agrupados y ya filtrados, como SELECT * FROM biblio WHERE author LIKE %rio%; para encontrar todas las entradas para las cuales los autores tienen un ID superior a 100 *y* que se llamen algun nombre que contenga rio. Como *no* usar vistas Esto siendo dicho, hay formas en las que no tiene sentido usar una vista (y doy gracias a la vida por llegar a hacerme ver estos ejemplos desconcertantes). Por ejemplo: CREATE VIEW view_books AS SELECT * FROM books; Obviamente, esto es completamente inutil y probablemente gastar la memoria de su servidor SQL. Lenguaje de definicin de datos (III) Vistas En el modelo de datos relacional la forma de guardar la informacin no es la mejor para ver los datos 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. Dos son las principales razones por las que podemos crear vistas.

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

Comodidad, como hemos dicho el modelo relacional no es el ms comodo para visualizar los datos, lo que nos puede llevar a tener que escribir complejas sentencias SQL, tener una vista nos simplifica esta tarea. Las vistas no tienen una copia fsica de los datos, son consultas a los datos que hay en las tablas, por lo que si actualizamos los datos de una vista, estamos actualizando realmente la tabla, y si actualizamos la tabla estos cambios sern visibles desde la vista. Vista en Base de Datos

La vista es una tabla virtual, que es el resultado de una consulta SQL en las que se carga los datos en el momento de ser llamada. La vista puede tener datos de una tabla o de la agrupacin de varias tablas. El objetivo de estas vistas es agilizar el proceso de consulta a una base de datos. Para entender este tema un poco mejor vamos a tomar como ejemplo, el siguiente modelo de datos

Si se tuviera que hacer un reporte de este modelo, donde aparecieran los siguientes datos el nombre (nombres y apellidos) de la persona, su genero y su estado civil (no en cdigo) seria necesario hacer una consulta de este tipo: SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER NOMBRE', P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE', P.PRIMER_APELLIDO 'PRIMER APELLIDO',

P.SEGUNDO_APELLIDO 'SEGUNDO APELLIDO', E.DESCRIPCION 'ESTADO CIVIL', G.DESCRIPCION 'GENERO' FROM PERSONA P, ESTADO_CIVIL E, GENERO G WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO = G.GENEERO Pero al ver que es frecuente este tipo de reportes, se ve la necesidad de crear una vista para guardar la consulta SQL. Para crear una vista se utilizara el siguiente cdigo CREATE OR REPLACE VIEW NOMBRE_VISTA AS( En este espacio va la consulta SQL que se realiza con frecuencia ); donde CREATE OR REPLACE (OR REPLACE es opcional pero recomendable, para que la remplace en caso de que exista) lo que hace es crear o remplazar la vista y NOMBRE_VISTA es el nombre que se le desee dar a la vista. Ejemplo CREATE OR REPLACE VIEW PERSONA_GENERO_ESTADO AS( SELECT P.CODIGO 'CODIGO', P.PRIMER_NOMBRE 'PRIMER NOMBRE', P.SEGUNDO_NOMBRE 'SEGUNDO NOMBRE', P.PRIMER_APELLIDO 'PRIMER APELLIDO', P.SEGUNDO_APELLIDO 'SEGUNDO APELLIDO', E.DESCRIPCION 'ESTADO CIVIL', G.DESCRIPCION 'GENERO' FROM PERSONA P, ESTADO_CIVIL E, GENERO G WHERE P.COD_ESTADO_CIVIL = E.CODIGO AND P.COD_GENERO = G.GENEERO ); y en una prxima vez que se requiera hacer esa consulta bastara con el siguiente query: SELECT * FROM PERSONA_GENERO_ESTADO

Referencia: http://beeznest.wordpress.com/2010/06/10/vistas-sql-a-quesirven-y-como-no-hacerlas/

Potrebbero piacerti anche