Está en la página 1de 18

Mdulo 4:

Implementacin de vistas

Introduccin
Introduccin a las vistas
Creacin y administracin de vistas
Optimizacin del rendimiento mediante el uso de vistas

Leccin 1: Introduccin a las vistas


Qu es una vista
Tipos de vistas
Ventajas de las vistas

Qu es una vista

Employee (tabla)
EmployeeID

LastName

FirstName

Title

287

Mensa-Annan

Tete

Mr.

288

Abbas

Syed

Mr.

289

Valdez

Rachel

NULL

vEmployee (vista)
LastName

FirstName

Mensa-Annan

Tete

Abbas

Syed

Valdez

Rachel

Tipos de vistas
Vistas estndar
Combinan datos de una o ms tablas base (o vistas)
en una nueva tabla virtual
Vistas indizadas
Materializan (almacenan) la vista mediante la creacin
de un ndice nico agrupado en la vista
Vistas con particiones
Combinan datos con particiones horizontales de una
o ms tablas base en uno o varios servidores

Ventajas de las vistas


Centrar los datos para un usuario
Enmascarar la complejidad de la base de datos
Simplificar la administracin de los permisos
de los usuarios
Mejorar el rendimiento
Organizar datos para exportarlos a otras aplicaciones

Leccin 2: Creacin y administracin de vistas


Sintaxis para crear vistas
Demostracin: Creacin de una vista
Sintaxis para modificar y quitar vistas
Cmo afectan a las vistas las cadenas de propiedad
Orgenes de informacin de las vistas
Cifrado de vistas
Consideraciones para modificar datos de una vista
Ejercicio: Creacin de una vista

Sintaxis para crear vistas


Utilice la instruccin CREATE VIEW de Transact-SQL:
CREATE VIEW [ nombreDeEsquema.] nombreDeVista [ (columna [
,...n ] ) ]
[WITH [ENCRYPTION] [SCHEMABINDING] [VIEW_METADATA] ]
AS instruccinSelect [ ; ]
[ WITH CHECK OPTION ]

Restricciones:
No se pueden anidar ms de 32 niveles de profundidad
No pueden contener ms de 1024 columnas
No pueden utilizar COMPUTE, COMPUTE BY o INTO
No pueden utilizar ORDER BY sin TOP

Sintaxis para modificar y quitar vistas


Modificar utilizando la instruccin ALTER VIEW
de Transact-SQL:
ALTER VIEW [ nombreDeEsquema.] nombreDeVista [ (columna [
,...n ] ) ]
[WITH [ENCRYPTION] [SCHEMABINDING] [VIEW_METADATA] ]
AS instruccinSelect [ ; ]
[ WITH CHECK OPTION ]

Quitar utilizando la instruccin DROP VIEW


de Transact-SQL:
DROP VIEW [ nombreDeEsquema.]nombreDeVista [ ...,n ] [ ; ]

Cmo afectan a las vistas las cadenas de propiedad

Acceso
a la vista

Propietario de la vista: Elena

Propietario de la vista: Elena

Propietario de la tabla:
Bernardo

Usuario: Fellipe
Dependencia

Dependencia

Orgenes de informacin de las vistas


SQL Server Management Studio
Origen

Informacin
Lista de vistas de la base de datos

Explorador de objetos
Ver el cuadro de dilogo
Propiedades

Acceso a las columnas, los desencadenadores,


los ndices y las estadsticas definidos en las vistas
Propiedades de vistas individuales

Transact-SQL
Origen

Informacin

sys.views

Lista de vistas de la base de datos

sp_helptext

Definicin de vistas no cifradas

sys.sql_dependencies

Objetos (incluyendo vistas) que dependen de


otros objetos

Cifrado de vistas
Usar la opcin WITH ENCRYPTION en la instruccin
CREATE VIEW de Transact-SQL
Cifra la definicin de vista en la tabla sys.syscomments
Protege la lgica de creacin de la vista
CREATE VIEW [HumanResources].[vEmployee]
WITH ENCRYPTION AS SELECT
e.[EmployeeID],c.[Title],c.[FirstName],c.[MiddleName]
,c.[LastName],c.[Suffix],e.[Title] AS [JobTitle]
,c.[Phone],c.[EmailAddress]
FROM [HumanResources].[Employee] e
INNER JOIN [Person].[Contact] c
ON c.[ContactID] = e.[ContactID]

Usar WITH ENCRYPTION en instrucciones ALTER VIEW para conservar


el cifrado

Consideraciones para modificar datos de una vista


Las vistas no mantienen una copia independiente
de los datos (las vistas indizadas son una excepcin)
Las actualizaciones de las vistas modifican las
tablas base
Restricciones:
No pueden afectar ms de una tabla base
No pueden modificar columnas derivadas de funciones
de agregado o clculos
No pueden modificar columnas afectadas por clusulas
GROUP BY, HAVING o DISTINCT
Las actualizaciones de las vistas estn restringidas
por el uso de WITH CHECK OPTION

Ejercicio: Creacin de una vista


En este ejercicio crear una vista

Leccin 3: Optimizacin del rendimiento mediante


el uso de vistas
Consideraciones de rendimiento para las vistas
Qu es una vista indizada

Consideraciones de rendimiento para las vistas


Las vistas introducen una sobrecarga de rendimiento
porque se resuelven dinmicamente
Las vistas anidadas presentan posibles problemas
de rendimiento
Examine la definicin de las vistas anidadas no cifradas
Utilice el Analizador de SQL Server para examinar
el rendimiento
Las vistas indizadas pueden mejorar el rendimiento

Qu es una vista indizada


Una vista con un ndice nico agrupado
Materializa la vista, mejorando el rendimiento
Permite al optimizador de consultas utilizar la vista en la
resolucin de consultas
Se usa cuando:
El rendimiento compensa la sobrecarga de mantenimiento
Los datos subyacentes se modifican con poca frecuencia
Las consultas realizan un nmero elevado de combinaciones
y agregaciones
CREATE UNIQUE CLUSTERED INDEX
[IX_vStateProvinceCountryRegion] ON
[Person].[vStateProvinceCountryRegion]
( [StateProvinceID] ASC, [CountryRegionCode] ASC)

Prctica: Implementacin de vistas


Ejercicio 1: Creacin de vistas
Ejercicio 2: Creacin de vistas indizadas

También podría gustarte