Vous êtes sur la page 1sur 21

Ing. Yessica Puchuri Manco.

Vistas
Una vista es una alternativa para mostrar datos de varias tablas. Una vista es como una 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. Entonces, una vista almacena una consulta como un objeto para utilizarse posteriormente. Las tablas consultadas en una vista se llaman tablas base. En general, se puede dar un nombre a cualquier consulta y almacenarla como una vista. Una vista suele llamarse tambin tabla virtual porque los resultados que retorna y la manera de referenciarlas es la misma que para una tabla.

Las vistas permiten: ocultar informacin: permitiendo el acceso a algunos datos y manteniendo oculto el resto de la informacin que no se incluye en la vista. El usuario opera con los datos de una vista como si se tratara de una tabla, pudiendo modificar tales datos. simplificar la administracin de los permisos de usuario: se pueden dar al usuario permisos para que solamente pueda acceder a los datos a travs de vistas, as se protegen las tablas base de cambios en su estructura. mejorar el rendimiento: se puede evitar tipear instrucciones repetidamente almacenando en una vista el resultado de una consulta compleja que incluya informacin de varias tablas.

Descripcin de vistas
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. Sin embargo, a menos que est indizada, una vista no existe como conjunto de valores de datos almacenados en una base de datos. Las filas y las columnas de datos proceden de tablas a las que se hace referencia en la consulta que define la vista y se producen de forma dinmica cuando se hace referencia a la vista. Una vista acta como filtro de las tablas subyacentes a las que se hace referencia en ella. La consulta que define la vista puede provenir de una o de varias tablas, o bien de otras vistas de la base de datos actual u otras bases de datos. Asimismo, es posible utilizar las consultas distribuidas para definir vistas que utilicen datos de orgenes heterogneos. Esto puede resultar de utilidad, por ejemplo, si desea combinar datos de estructura similar que proceden de distintos servidores, cada uno de los cuales almacena los datos para una regin distinta de la organizacin.

No existe ninguna restriccin a la hora de consultar vistas y muy pocas restricciones a la hora de modificar los datos de stas.

Tipos de vistas.
Se pueden crear vistas estndar, vistas indizadas y vistas con particiones. Vistas estndar La combinacin de datos de una o ms tablas mediante una vista estndar permite satisfacer la mayor parte de las ventajas de utilizar vistas. stas incluyen centrarse en datos especficos y simplificar la manipulacin de datos.

Vistas indizadas Una vista indizada es una vista que se ha materializado. Esto significa que se ha calculado y almacenado. Se puede indizar una vista creando un ndice agrupado nico en ella. Las vistas indizadas mejoran de forma considerable el rendimiento de algunos tipos de consultas. Las vistas indizadas funcionan mejor para consultas que agregan muchas filas. No son adecuadas para conjuntos de datos subyacentes que se actualizan frecuentemente.

Vistas con particiones. Una vista con particiones junta datos horizontales con particiones de un conjunto de tablas miembro en uno o ms servidores. Esto hace que los datos aparezcan como si fueran de una tabla. Una vista que junta tablas miembro en la misma instancia de SQL Server es una vista con particiones local.

Escenarios de utilizacin de vistas.


Las vistas suelen utilizarse para centrar, simplificar y personalizar la percepcin de la base de datos para cada usuario. Las vistas pueden emplearse como mecanismos de seguridad, que permiten a los usuarios obtener acceso a los datos por medio de la vista, pero no les conceden el permiso de obtener acceso directo a las tablas base subyacentes de la vista. Las vistas pueden utilizarse para proporcionar una interfaz compatible con versiones anteriores con el fin de emular una tabla que exista pero cuyo esquema ha cambiado. Tambin pueden utilizarse para copiar datos entre MicrosoftSQL Server a fin de mejorar el rendimiento y crear particiones de los datos.

Para centrarse en datos especficos Las vistas permiten a los usuarios centrarse en datos de su inters y en tareas especficas de las que son responsables. Los datos innecesarios o sensibles pueden quedar fuera de la vista. Por ejemplo, una vista vBikes en la base de datos de ejemplo AdventureWorks permitira a un usuario ver las existencias de bicicletas disponibles actualmente. La vista filtra todos los campos de la tabla Product salvo Name y slo devuelve los nombres de las bicicletas completas en lugar de los componentes de bicicleta. Ejercicios 1.

Para simplificar la manipulacin de datos Las vistas permiten simplificar la forma en que los usuarios trabajan con los datos. Las combinaciones, proyecciones, consultas UNION y consultas SELECT que se utilizan con frecuencia pueden definirse como vistas para que los usuarios no tengan que especificar todas las condiciones y calificaciones cada vez que realicen una operacin adicional en los datos. Por ejemplo, es posible crear como vista una consulta compleja que se utilice para la elaboracin de informes y que realice subconsultas, combinaciones externas y agregaciones para recuperar datos de un grupo de tablas. La vista simplifica el acceso a los datos ya que evita la necesidad de escribir o enviar la consulta subyacente cada vez que se genera el informe; en lugar de eso, se realiza una consulta en la vista. Aunque no se trata de una consulta compleja, la vista vBikes de la base de datos de ejemplo AdventureWorks2008R2 permite a los usuarios centrarse en los datos especficos sin tener que crear las clusulas JOIN que se necesitan para generar la vista.

Para proporcionar compatibilidad con versiones anteriores. Las vistas permiten crear una interfaz compatible con versiones anteriores para una tabla cuando su esquema cambia. Por ejemplo, una aplicacin puede haber hecho referencia a una tabla no normalizada que tiene el siguiente esquema:

Para personalizar datos Las vistas permiten que varios usuarios puedan ver los datos de modo distinto, aunque estn utilizando los mismos simultneamente. Esto resulta de gran utilidad cuando usuarios que tienen distintos intereses y calificaciones trabajan con la misma base de datos. Por ejemplo, es posible crear una vista que recupere nicamente los datos para los clientes con los que trabaja el responsable comercial de una cuenta. La vista puede determinar qu datos deben recuperarse en funcin del Id. de inicio de sesin del responsable comercial que utilice la vista

Disear e implementar vistas


Antes de crear una vista, considere las siguientes indicaciones: Slo puede crear vistas en la base de datos actual. Sin embargo, las tablas y las vistas a las que se haga referencia desde la nueva vista pueden encontrarse en otras bases de datos e, incluso, en otros servidores, si la vista se define mediante consultas distribuidas. Los nombres de las vistas deben seguir las reglas que se aplican a los identificadores y ser nicos para cada esquema. Adems, el nombre debe ser distinto del de las tablas incluidas en ese esquema. Es posible generar vistas dentro de otras vistas. Microsoft SQL Server permite anidar vistas. El anidamiento no debe superar los 32 niveles. Es posible que el lmite real del anidamiento de vistas sea inferior en funcin de la complejidad de la vista y de la memoria disponible.

No puede asociar con las vistas reglas ni definiciones DEFAULT. Los desencadenadores AFTER no se pueden asociar con las vistas; slo se pueden asociar los desencadenadores INSTEAD OF. La consulta que define la vista no puede incluir las clusulas COMPUTE ni COMPUTE BY, y tampoco puede incluir la palabra clave INTO.

La consulta que define la vista no puede incluir la clusula ORDER BY, a menos que tambin haya una clusula TOP en la lista de seleccin de la instruccin SELECT. La consulta que define la vista no puede incluir la clusula OPTION que especifica una sugerencia de consulta. La consulta que define la vista no puede incluir la clusula TABLESAMPLE. No se pueden crear vistas temporales, ni vistas dentro de tablas temporales. Para crear una vista, debe contar con el permiso del propietario de la base de datos

Cmo crear vistas (Visual Database Tools).


En el Explorador de objetos, haga clic con el botn secundario en el nodo Vistas y elija Agregar nueva vista en el men contextual. Comience a disear la vista como si diseara una consulta SELECT.

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

Ejercicios 1.- base de datos: SQL2008SBS


Crear una vista que me muestre el nombre de la compaa, los tres tipos de direcciones, ciudad, nombre del pais de la tabla Customers.Customer, Customers.CustomerAddress, Orders.OrderHeader, LookupTables.StateProvince , LookupTables.Country - Ejecute el codigo para ver los resultados de la vista.

Modificar Vista
ALTER VIEW <nombre_vista> AS
(<sentencia_select>);

Eliminar la vista
DROP VIEW vAlquileres

Ejercicio 2. muestre al menos dos campos de las tablas HumanResources.Employee, HumanResources.EmployeeAddress, LookupTables.AddressType, LookupTables.StateProvince, LookupTables.Country Realizar la sentencia para visualizar la consulta creada insertar un registro a la vista creada en los (FirstName, LastName, JobTitle, BirthDate, HireDate) VALUES('Diane','Prescott','Vice-President','4/11/1980','1/2/2008') Mostrar nuevamente la consulta
Realizar una vista HumanResources.v_Employees, que me

Vous aimerez peut-être aussi