Implementacin de vistas Introduccin n Introduccina las vistas

  • Slides: 17
Download presentation
Implementación de vistas

Implementación de vistas

Introducción n Introduccióna las vistas n Ventajas de las vistas n Definición de vistas

Introducción n Introduccióna las vistas n Ventajas de las vistas n Definición de vistas n Modificaciónde datos mediante vistas n Optimización del rendimiento mediante vistas n Práctica: Implementación de vistas

Introduccióna las vistas Employee. ID Last. Name Firstname Title 1 2 3 Davolio Fuller

Introduccióna las vistas Employee. ID Last. Name Firstname Title 1 2 3 Davolio Fuller Leverling Nancy Andrew Janet ~~~ ~~~ USE Northwind GO CREATE VIEW dbo. Employee. View AS SELECT Last. Name, Firstname FROM Employees Employee. View Lastname Firstname Davolio Fuller Leverling Nancy Andrew Janet Vista del usuario

Ventajas de las vistas n n Centrar el interés en los datos de los

Ventajas de las vistas n n Centrar el interés en los datos de los usuarios l Centrarse sólo en los datos importantes o adecuados l Limitar el acceso a los datos confidenciales Enmascarar la complejidad de la base de datos l Ocultar el diseño de la base de datos compleja l Simplificar las consultas complejas, incluyendo las consultas distribuidas a datos heterogéneos n Simplificar la administraciónde los permisos de usuario n Mejorar el rendimiento n Organizar los datos para exportarse a otras aplicaciones

u Definición de vistas n Creación de vistas n Ejemplo: Vista de tablas combinadas

u Definición de vistas n Creación de vistas n Ejemplo: Vista de tablas combinadas n Modificacióny eliminación de vistas n Evitar la interrupciónde las cadenas de pertenencia n Ubicación de la informaciónde definiciónde vistas n Ocultación de la definiciónde las vistas

Creación de vistas n Creación de una vista CREATE VIEW dbo. Order. Subtotals. View

Creación de vistas n Creación de una vista CREATE VIEW dbo. Order. Subtotals. View (Order. ID, Subtotal) AS SELECT OD. Order. ID, SUM(CONVERT(money, (OD. Unit. Price*Quantity*(1 -Discount)/100))*100) FROM [Order Details] OD GROUP BY OD. Order. ID GO n Restricciones en las definicionesde vistas l No se puede incluir la cláusula ORDER BY l No se puede incluir la palabra clave INTO

Ejemplo: Vista de tablas combinadas Order. ID 10663 10827 10451 10515 Customers Customer. ID

Ejemplo: Vista de tablas combinadas Order. ID 10663 10827 10451 10515 Customers Customer. ID Required. Date Shipped. Date BONAP PICCO QUICK 1997 -09 -24 ~~~ 1998 -01 -26 ~~~ 1997 -02 -24 ~~~ 1997 -03 -05 ~~~ 1997 -05 -07 ~~~ 1997 -10 -03 1998 -02 -06 1997 -03 -03 1997 -03 -12 1997 -05 -23 Customer. ID Company. Name BONAP PICCO QUICK USE Northwind GO CREATE VIEW dbo. Ship. Status. View AS SELECT Order. ID, Shipped. Date, Contact. Name FROM Customers c INNER JOIN Orders o ON c. Customer. ID = O. Customer. ID WHERE Required. Date < Shipped. Date Contact. Name Bon app' Laurence Lebihan Piccolo und mehr Georg Pipps QUICK-Stop Horst Kloss Ship. Status. View Order. ID Shipped. Date Contact. Name 10264 10271 10280 1996 -08 -23 1996 -08 -21 Laurence Lebihan 1996 -08 -30 1996 -08 -29 Georg Pipps 1996 -09 -12 1996 -09 -11 Horst Kloss

Modificacióny eliminación de vistas n Alteración de vistas USE Northwind GO ALTER VIEW dbo.

Modificacióny eliminación de vistas n Alteración de vistas USE Northwind GO ALTER VIEW dbo. Employee. View AS SELECT Last. Name, First. Name, Extension FROM Employees n l Conserva los permisos asignados l Hace que la instrucción SELECT y las opciones reemplacen la definición existente Eliminación de vistas DROP VIEW dbo. Ship. Status. View

Evitar la interrupción de lascadenas de pertenencia n n Objetos dependientes con propietariosdistintos Ejemplo:

Evitar la interrupción de lascadenas de pertenencia n n Objetos dependientes con propietariosdistintos Ejemplo: maria. view 2 Maria ejecuta: lucia. view 1 GRANT SELECT ON view 2 TO pierre Pierre ejecuta: SELECT * FROM maria. view 2 lucia. table 1

Ubicación de la informaciónde definiciónde vistas n Ubicación de las definicionesde vistas l n

Ubicación de la informaciónde definiciónde vistas n Ubicación de las definicionesde vistas l n No disponible si la vista fue creada con la opción WITH ENCRYPTION Ubicación de las dependencias de una vista l Muestra los objetos de los que depende una vista l Muestra los objetos que dependen de una vista

Ocultación de la definiciónde las vistas n Uso de la opción WITH ENCRYPTION n

Ocultación de la definiciónde las vistas n Uso de la opción WITH ENCRYPTION n No elimine las entradas de la tabla syscomments USE Northwind GO CREATE VIEW dbo. [Order Subtotals] WITH ENCRYPTION AS SELECT Order. ID, Sum(CONVERT(money, (Unit. Price*Quantity*(1 -Discount)/100))*100) AS Subtotal FROM [Order Details] GROUP BY Order. ID GO

Modificaciónde datos mediante vistas n No pueden afectar a más de una tabla subyacente

Modificaciónde datos mediante vistas n No pueden afectar a más de una tabla subyacente n No pueden afectar a ciertas columnas n Pueden provocar errores si afectan a columnas a las que la vista no hace referencia n Se comprueba si se ha especificado WITH CHECK OPTION

u Optimización del rendimiento mediante vistas n Consideraciones acerca del rendimiento n Uso de

u Optimización del rendimiento mediante vistas n Consideraciones acerca del rendimiento n Uso de vistas indizadas n Uso de vistas para dividir datos

Consideraciones acerca del rendimiento Customers 1 Orders ~ ~ ~ n Order Details 1

Consideraciones acerca del rendimiento Customers 1 Orders ~ ~ ~ n Order Details 1 ~ ~ ~ n 2 ~ 1 32~~ 2 43~~ 3 54~~ 4 65~~ 6 5~ 6 ~ ~ ~ ~~ ~~ ~ ~ n ~ ~~yy ~ ~~ny ~ ~~yn ~ ~y ~ USE Northwind GO CREATE VIEW dbo. Top. Sales. View AS SELECT * FROM dbo. Total. Purchase. View WHERE Subtotal > 50000 GO ~ ~ ~ Total. Purchase. View 1 2 3 4 5 6 ~ ~ ~ ~ ~ Top. Sales. View ~ ~ ~ ~ SELECT * FROM dbo. Top. Sales. View WHERE Company. Name = 'Ernst Handel'

Uso de vistas indizadas n Las vistas indizadas almacenan el conjunto de resultados en

Uso de vistas indizadas n Las vistas indizadas almacenan el conjunto de resultados en la base de datos n Creación de una vista indizada n Recomendaciones para la creación de vistas indizadas Utilizar si: n l El rendimiento mejora el costo del incremento en el mantenimiento l Los datos subyacentes no se actualizan con frecuencia l Las consultas realizan una gran cantidad de combinaciones y operaciones de agregado Restricciones en la creación de vistas indizadas

Uso de vistas para dividir datos n Puede utilizar las vistas para dividir los

Uso de vistas para dividir datos n Puede utilizar las vistas para dividir los datos en varios servidores o instancias de SQL Server n Cómo utiliza SQL Server las vistas para dividir datos n Cómo las vistas divididas mejoran el rendimiento

Práctica: Implementación de vistas

Práctica: Implementación de vistas