La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Implementación de vistas. Introducción Introducción a las vistas Ventajas de las vistas Definición de vistas Modificación de datos mediante vistas Optimización.

Presentaciones similares


Presentación del tema: "Implementación de vistas. Introducción Introducción a las vistas Ventajas de las vistas Definición de vistas Modificación de datos mediante vistas Optimización."— Transcripción de la presentación:

1 Implementación de vistas

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

3 Introducción a las vistas EmployeeViewEmployeeView Lastname Firstname Davolio Fuller Leverling Davolio Fuller Leverling Nancy Andrew Janet Nancy Andrew Janet EmployeesEmployees EmployeeID LastName Firstname Title Davolio Fuller Leverling Davolio Fuller Leverling Nancy Andrew Janet Nancy Andrew Janet ~~~ Vista del usuario USE Northwind GO CREATE VIEW dbo.EmployeeView AS SELECT LastName, Firstname FROM Employees USE Northwind GO CREATE VIEW dbo.EmployeeView AS SELECT LastName, Firstname FROM Employees

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

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

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

7 Ejemplo: Vista de tablas combinadas OrderIDOrderID CustomerIDCustomerID BONAP PICCO QUICK BONAP PICCO QUICK ~~~ RequiredDateRequiredDate ShippedDateShippedDate OrdersCustomers ShipStatusView USE Northwind GO CREATE VIEW dbo.ShipStatusView AS SELECT OrderID, ShippedDate, ContactName FROM Customers c INNER JOIN Orders o ON c.CustomerID = O.CustomerID WHERE RequiredDate < ShippedDate USE Northwind GO CREATE VIEW dbo.ShipStatusView AS SELECT OrderID, ShippedDate, ContactName FROM Customers c INNER JOIN Orders o ON c.CustomerID = O.CustomerID WHERE RequiredDate < ShippedDate CustomerIDCustomerID BONAP PICCO QUICK BONAP PICCO QUICK CompanyNameCompanyName Bon app' Piccolo und mehr QUICK-Stop Bon app' Piccolo und mehr QUICK-Stop ContactNameContactName Laurence Lebihan Georg Pipps Horst Kloss Laurence Lebihan Georg Pipps Horst KlossOrderIDOrderID ShippedDateShippedDate ContactNameContactName Laurence Lebihan Georg Pipps Horst Kloss Laurence Lebihan Georg Pipps Horst Kloss

8 Modificación y eliminación de vistas Alteración de vistas Conserva los permisos asignados Hace que la instrucción SELECT y las opciones reemplacen la definición existente Eliminación de vistas USE Northwind GO ALTER VIEW dbo.EmployeeView AS SELECT LastName, FirstName, Extension FROM Employees USE Northwind GO ALTER VIEW dbo.EmployeeView AS SELECT LastName, FirstName, Extension FROM Employees DROP VIEW dbo.ShipStatusView

9 GRANT SELECT ON view2 TO pierre SELECT * FROM maria.view2 Objetos dependientes con propietarios distintos Ejemplo: Maria ejecuta: Pierre ejecuta: Evitar la interrupción de las cadenas de pertenencia maria.view2 lucia.view1 lucia.table1

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

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

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

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

14 Consideraciones acerca del rendimiento USE Northwind GO CREATE VIEW dbo.TopSalesView AS SELECT * FROM dbo.TotalPurchaseView WHERE Subtotal > GO USE Northwind GO CREATE VIEW dbo.TopSalesView AS SELECT * FROM dbo.TotalPurchaseView WHERE Subtotal > GO TotalPurchaseView 1 1 ~ ~ ~ ~ ~ ~ ~ ~ 2 2 ~ ~ ~ ~ ~ ~ ~ ~ 3 3 ~ ~ ~ ~ ~ ~ ~ ~ 4 4 ~ ~ ~ ~ ~ ~ ~ ~ 5 5 ~ ~ ~ ~ ~ ~ ~ ~ 6 6 ~ ~ ~ ~ ~ ~ ~ ~ CustomersCustomers 1 1 ~ ~ ~ ~ ~ ~ n n 2 2 ~ ~ ~ ~ ~ ~ n n 3 3 ~ ~ ~ ~ ~ ~ y y 4 4 ~ ~ ~ ~ ~ ~ y y 5 5 ~ ~ ~ ~ ~ ~ n n 6 6 ~ ~ ~ ~ ~ ~ y y OrdersOrders 1 1 ~ ~ ~ ~ ~ ~ n n 2 2 ~ ~ ~ ~ ~ ~ n n 3 3 ~ ~ ~ ~ ~ ~ y y 4 4 ~ ~ ~ ~ ~ ~ y y 5 5 ~ ~ ~ ~ ~ ~ n n 6 6 ~ ~ ~ ~ ~ ~ y y Order Details 1 1 ~ ~ ~ ~ ~ ~ ~ ~ 2 2 ~ ~ ~ ~ ~ ~ ~ ~ 3 3 ~ ~ ~ ~ ~ ~ ~ ~ 4 4 ~ ~ ~ ~ ~ ~ ~ ~ 5 5 ~ ~ ~ ~ ~ ~ ~ ~ 6 6 ~ ~ ~ ~ ~ ~ ~ ~ SELECT * FROM dbo.TopSalesView WHERE CompanyName = 'Ernst Handel' SELECT * FROM dbo.TopSalesView WHERE CompanyName = 'Ernst Handel'TopSalesViewTopSalesView ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

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

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

17 Práctica: Implementación de vistas


Descargar ppt "Implementación de vistas. Introducción Introducción a las vistas Ventajas de las vistas Definición de vistas Modificación de datos mediante vistas Optimización."

Presentaciones similares


Anuncios Google