You are on page 1of 5

DEFINICION

Una vista de base de datos es un resultado de una consulta SQL de una o varias tablas; tambin se le puede considerar una tabla virtual. 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. 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.

Definicin de vista
Una vista es una forma alternativa de ver los datos de una o ms tablas. Se puede pensar en una vista como un marco a travs del cual pueden verse los datos en los que est interesado. Esta es la razn por la que se habla de ver los datos o cambiar los datos "mediante" una vista. Una vista se deriva de una o ms tablas reales cuyos datos estn almacenados fsicamente en la base de datos. Las tablas que originan la vista se denominan tablas base o tablas subyacentes. Una vista tambin se puede derivar de otra vista. La definicin de una vista, en trminos de las tablas base de las que se deriva, se almacena en la base de datos. No se asocia ninguna copia de datos distinta a esta definicin almacenada. Los datos que se ven se almacenan en las tablas subyacentes. Una vista tiene exactamente el mismo aspecto que cualquier otra tabla de base de datos. Puede mostrarse y usarse prcticamente de la misma manera que cualquier otra tabla. Transact-SQL fue modificado para que no haya ninguna restriccin en las consultas mediante vistas, y menos restricciones de las normales en la modificacin de las vistas. Las excepciones se explican posteriormente en este captulo. Cuando se modifican los datos que se ven mediante una vista, en realidad se estn cambiando los datos de las tablas subyacentes. A su vez, los cambios en los datos de las tablas subyacentes se reflejan automticamente en las vistas que se derivan de ellas. Ventajas de las vistas

Los ejemplos de este captulo demuestran que las vistas pueden utilizarse para centrar, simplificar y personalizar la percepcin que cada usuario tiene de la base de datos. Las vistas tambin proporcionan una medida de seguridad de fcil manejo. Adems, pueden ser tiles cuando los cambios se realizan en la estructura de la base de datos y los usuarios prefieren trabajar con la base de datos en la forma en la que acostumbran. OBJETIVO Las vistas permiten a los usuarios centrarse en los datos concretos que les interesa y en las tareas especficas de las que son responsables. Los datos que no son de inters para un usuario concreto ni para una tarea especfica pueden dejarse fuera de la vista. Las vistas no slo simplifican la percepcin que los usuarios tienen de los datos, sino tambin su forma de manipularlos. Las combinaciones, proyecciones y selecciones usadas con frecuencia pueden definirse como vistas para evitar que los usuarios tengan que especificar todas las condiciones y calificaciones cada vez que realicen una operacin adicional con dichos datos.

Gracias a las vistas, distintos usuarios pueden ver los mismos datos de formas diferentes, incluso si utilizan los mismos datos al mismo tiempo. Esta ventaja es especialmente importante cuando usuarios con diferentes intereses y niveles de especializacin comparten la misma base de datos. Ejemplos de vistas El primer ejemplo es una vista derivada de la tabla titles . Supongamos que slo est interesado en los libros con un precio superior a $15 y para los que se ha pagado un anticipo de ms de $5000. Esta sencilla instruccin select hallara las filas que cumplen las condiciones:
select * from titles where price > $15 and advance > $5000

Ahora supongamos que tiene que realizar muchas operaciones de recuperacin y actualizacin en este conjunto de datos. Lgicamente, podra combinar las condiciones mostradas en la consulta anterior con cualquier comando que ejecute. Sin embargo, para mayor comodidad, puede crear una vista en la que slo estn visibles los registros de inters:
create view hiprice as select * from titles

where price > $15 and advance > $5000

Cuando recibe este comando, SQL Server no ejecuta la instruccin select que sigue a la palabra clave as . En su lugar, almacena la instruccin select , que es de hecho la definicin de la vista hiprice , en la tabla del sistema syscomments . Tambin se realizan entradas en sysobjects y syscolumns para cada columna incluida en la vista. Ahora, cuando se visualiza hiprice o se trabaja con ella, SQL Server combina la instruccin con la definicin almacenada de hiprice . Por ejemplo, puede cambiar todos los precios de hiprice del mismo modo que cambiara cualquier otra tabla:
update hiprice set price = price * 2

SQL Server halla la definicin de vista en las tablas del sistema y convierte este comando de actualizacin en la instruccin:
update titles set price = price * 2 where price > $15 and advance > $5000

En otras palabras, SQL Server sabe, a partir de la definicin de la vista, que los datos que hay que actualizar estn en titles . Tambin sabe que slo debe aumentar los precios de las filas que cumplen las condiciones de las columnas price y advance , proporcionadas en la definicin de vista, y las de la instruccin de actualizacin. Al emitir la primera instruccin de actualizacin, es decir, la de hiprice , es posible ver su efecto en la vista o en la tabla titles . A la inversa, si hubiera creado la vista y luego hubiera ejecutado la segunda instruccin de actualizacin, que opera directamente en la tabla base, los precios cambiados tambin se hubieran visualizado mediante la vista. La actualizacin de una tabla subyacente de una vista de modo que las diferentes filas califiquen a la vista afectar a la vista. Por ejemplo, suponga que el precio del libro You Can Combat Computer Stress aumenta a $25,95. Dado que ahora este libro cumple las condiciones de calificacin de la instruccin de definicin de la vista, se considera parte de la vista. Sin embargo, si altera la estructura de la tabla subyacente de una vista mediante la adicin de columnas, las columnas nuevas no aparecern en una vista definida con una clusula select * a menos que la vista se omita y vuelva a definirse. Esto se debe a que la abreviatura mediante asterisco se interpreta y ampla cuando la vista se crea por primera vez.

5.2.- Instrucciones para la Administracin de las Vistas


Ejemplo 1: Crear una vista con los siguientes datos Clave Nombre Calif Materia Control

Create view Boleta as Select materia.clave, materia.nombre, alumnos.control, alumnos.nombre, kardex.calif From Kardex, Materias, Alumnos where Kardex.materias = materia.clave and Kardex.control = alumnos.control

Utilizando la vista creada obtener todos los alumnos reprobados de una materia Select materia, count(*) from Boleta group by materia, calif having calif = 0

Ejemplo 2: Crear una vista que muestre todas las materias contratadas por un alumno Create view Contrato as select Alumnos.control, Alumnos.Nombre, Alumnos.Semestre, Materias.Clave, Materias.Nombre, Horarios.Dia, Horarios.HorIni, Horarios.Periodo, Horarios.HorFin from Kardex, Materias, Alumnos, Horarios Where kardex.materia = materia.clave and Kardex.Grupo = Horarios.Grupo and Kardex.Periodo = Horarios.periodo and Kardex.control = Alumnos.Control

Con la vista creada obtener el contrato de un alumno. Select * from contrato where control = 04310150 and periodo = E09

You might also like