Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin
Definicin de vistas
Modificacin de datos mediante vistas Optimizacin del rendimiento mediante vistas Prctica: Implementacin de vistas
EmployeeView
Lastname Davolio Fuller Leverling Firstname Nancy Andrew Janet Vista del usuario
Simplificar la administracin de los permisos de usuario Mejorar el rendimiento Organizar los datos para exportarse a otras aplicaciones
Definicin de vistas
Creacin de vistas
Creacin de una vista
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
Customers
CustomerID CompanyName
BONAP PICCO QUICK
ContactName
Bon app' Laurence Lebihan Piccolo und mehr Georg Pipps QUICK-Stop Horst Kloss
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
ShipStatusView
OrderID ShippedDate ContactName
10264 10271 10280 1996-08-23 Laurence Lebihan 1996-08-21 1996-08-30 Georg Pipps 1996-08-29 1996-09-12 Horst Kloss 1996-09-11
Alteracin de vistas
USE Northwind GO ALTER VIEW dbo.EmployeeView AS SELECT LastName, FirstName, Extension FROM Employees
Conserva los permisos asignados Hace que la instruccin SELECT y las opciones reemplacen la definicin existente
DROP VIEW dbo.ShipStatusView
Eliminacin de vistas
maria.view2
lucia.view1
GRANT SELECT ON view2 TO pierre
Pierre ejecuta:
SELECT * FROM maria.view2
lucia.table1
No disponible si la vista fue creada con la opcin WITH ENCRYPTION Muestra los objetos de los que depende una vista
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
Pueden provocar errores si afectan a columnas a las que la vista no hace referencia
Se comprueba si se ha especificado WITH CHECK OPTION
~ ~ ~ ~ ~
~ TopSalesView
~ ~ ~ ~ ~ ~ SELECT * FROM dbo.TopSalesView WHERE CompanyName = 'Ernst Handel' ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
TotalPurchaseView 1 2 3 4 5 6
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
Puede utilizar las vistas para dividir los datos en varios servidores o instancias de SQL Server Cmo utiliza SQL Server las vistas para dividir datos Cmo las vistas divididas mejoran el rendimiento