Está en la página 1de 5

Guía 03.

Uso de expresiones de tabla


Curso: Consultas avanzadas de datos con Transact-SQL
Tiempo de ejecución: 2 horas

I. AMBIENTE DE LABORATORIO

Para esta práctica se conectará al servidor con los siguientes parámetros:

Host: 162.248.53.71
Base de datos: AdventureWorks2014

Usuario: capacitacion
Password: Nuevo1010$

II. DESARROLLO

Ejercicio 1:
Creando de vistas en SQL Server

❑ En el explorador de objetos, expanda las vistas creadas en la base de datos


AdventureWorks y revise los objetos creados
❑ Ejecute el siguiente script para crear la vista vEmployeeContact

CREATE VIEW [HumanResources].[vEmployeeContact_GX]


WITH ENCRYPTION AS SELECT
e.BusinessEntityID,
e.JobTitle,
c.Title AS Salutation,
c.FirstName,
c.MiddleName,
c.LastName,
e.BirthDate,
e.Gender
FROM Person.Person c INNER JOIN HumanResources.Employee e
ON c.BusinessEntityID = e.BusinessEntityID;

❑ Refresque la sección de vistas de la base Adventureworks e identifique la vista que


acaba de crear.
❑ Ejecute el siguiente script para utilizar la vista creada anteriormente:

1
SELECT * FROM[HumanResources].[vEmployeeContact_GX]

❑ Verifique los datos retornados por la vista que ejecuto


❑ Probar modificar la estructura de la vista desde el panel de diseño
❑ Modifique la presente vista de manera que adicione la información del
departamento donde se encuentra actualmente el empleado.

Ejercicio 2:
Creando de vistas enlazadas a esquemas en SQL Server

❑ Cree una vista con el nombre Person.vContactDetails_GX, que este enlazada al


esquema (colóquele la opción WITH SCHEMABINDING), que contenga la siguiente
información:

CREATE VIEW [Person].[vContactDetails_GX]


WITH SCHEMABINDING
AS SELECT
c.Title,
c.FirstName,
c.MiddleName,
c.LastName,
c.Suffix,
c.EmailPromotion,
c.AdditionalContactInfo,
d.EmailAddress
FROM
Person.Person c
INNER JOIN Person.EmailAddress d on d.BusinessEntityID=c.BusinessEntityID;

2
❑ Ejecute el siguiente script para utilizar la vista creada anteriormente:

SELECT * FROM[Person].[vContactDetails_GX]

❑ Verifique los datos retornados por la vista que ejecuto


❑ Modifique el nombre de un campo (en la tabla origen) empleado en la vista para
revisar el comportamiento.
❑ Adicione el puesto de trabajo de la tabla HumanResources.Employee
❑ Pruebe si el bloqueo aplica tambien para el campo Title de la tabla
HumanResources.Employee

Ejercicio 3:
Creando índices a las vistas en SQL Server

❑ Cree un Nuevo índice de tipo unique clustered índex para esa consulta con el
nombre IX_vContactDetails_GX, que apliqué para la columna EmailAddress, con el
siguiente script:

CREATE UNIQUE CLUSTERED INDEX IX_vContactDetails_GX


ON Person.vContactDetails_GX (EmailAddress)

❑ Ejecute el siguiente script para utilizar la vista creada anteriormente:

SELECT * FROM[Person].[vContactDetails_GX]

❑ Verifique los datos retornados por la vista que ejecuto.


❑ Cree un índice de la vista realizada en el ejercicio 1

3
Ejercicio 4:
Consultas particionadas

❑ Ejecute el siguiente script para crear dos tablas copias de la tabla Employee

SELECT *
INTO [HumanResources].[Employee2_Gx]
FROM[HumanResources].[Employee]
GO

SELECT *
INTO [HumanResources].[Employee3_Gx]
FROM[HumanResources].[Employee]
GO

❑ Ejecute el siguiente script para crear una vista de tipo particionada

CREATE VIEW [HumanResources].[vPartitionedEmployee_GX]

AS

SELECT *FROM [HumanResources].[Employee]


UNION ALL
SELECT *FROM [HumanResources].[Employee2_GX]
UNION ALL
SELECT *FROM [HumanResources].[Employee3_GX]

❑ Pruebe los resultados de la vista y verifique que los datos de las tres tablas estén
contenidos

SELECT *FROM [HumanResources].[vPartitionedEmployee_GX]

❑ Cree una tabla duplicada (EmployeeDepartmentHistory_Gx) con la información de


HumanResources.EmployeeDepartmentHistory. Realizar una vista tomando de la
tabla HumanResources.EmployeeDepartmentHistory los empleados que se
terminó su contrato en ese puesto, y EmployeeDepartmentHistory_Gx los que aún
están vigentes.

4
Ejercicio 5:
Creación de vistas
❑ Identifique 4 consultas de la guía anterior y conviértalas en vistas empleando los
modificadores utilizados anteriormente (WITH ENCRYPTION, WITH
SCHEMABINDING, UNIQUE CLUSTERED INDEX, PARTITIONED )
❑ Emplear el sufijo _GX para cada ejercicio para identificar las consultas

También podría gustarte