Tips Para Consultas

Páginas: 5 (1171 palabras) Publicado: 25 de septiembre de 2015
Universidad Nacional Autónoma de Nicaragua
Informática Educativa
Objetivo:
 Consolidar conocimientos acerca de las vistas.
 Aplicar funciones y algunas cláusulas de grupo.
 Desarrollar pertinencia en la optimización de una consulta.

Contenido: Vistas.
CREATE VIEW (Transact-SQL)
Crea una tabla virtual cuyo contenido (columnas y filas) se define mediante una consulta. Utilice
esta instrucciónpara crear una vista de los datos de una o varias tablas de la base de datos. Por
ejemplo, una vista se puede utilizar para lo siguiente:
A. Para centrar, simplificar y personalizar la percepción de la base de datos para cada usuario.
B. Como mecanismo de seguridad, que permite a los usuarios obtener acceso a los datos por

medio de la vista, pero no les conceden el permiso de obtener accesodirecto a las tablas
base subyacentes de la vista.
C. Para proporcionar una interfaz compatible con versiones anteriores para emular una tabla
cuyo esquema ha cambiado.

A. Usar una instrucción CREATE VIEW sencilla
En el ejemplo siguiente se crea una vista mediante una instrucción SELECT sencilla. Una vista
sencilla resulta útil cuando se consulta con frecuencia una combinación de columnas. Los datosde
esta vista provienen de las tablas HumanResources.Employee y Person.Person de la base de datos
AdventureWorks2012. Los datos proporcionan el nombre e información sobre la fecha de
contratación de los empleados de Adventure Works Cycles. Esta vista puede crearse para la persona
responsable del seguimiento de los aniversarios de trabajo pero sin concederle acceso a todos los
datos de estas tablas.Transact-SQL
USE AdventureWorks2012;
GO
IF OBJECT_ID ('hiredate_view', 'V') IS NOT NULL
DROP VIEW hiredate_view ;
GO
CREATE VIEW hiredate_view
AS
SELECT p.FirstName, p.LastName, e.BusinessEntityID, e.HireDate
FROM HumanResources.Employee e
INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID
;
GO

B. Usar funciones integradas dentro de una vista
En el siguiente ejemplo semuestra una definición de vista que incluye una función integrada. Al
utilizar funciones, es necesario especificar un nombre de columna para la columna derivada.
Transact-SQL
USE AdventureWorks2012 ;
GO
IF OBJECT_ID ('Sales.SalesPersonPerform', 'V') IS NOT NULL
DROP VIEW Sales.SalesPersonPerform ;
GO
CREATE VIEW Sales.SalesPersonPerform
AS
SELECT TOP (100) SalesPersonID, SUM(TotalDue) AS TotalSalesFROM Sales.SalesOrderHeader
WHERE OrderDate > CONVERT(DATETIME,'20001231',101)
GROUP BY SalesPersonID;
GO

GROUP BY (Transact-SQL)
Agrupa un conjunto de filas seleccionado en un conjunto de filas de resumen de acuerdo con los
valores de una o más columnas o expresiones en SQL Server 2012. Se devuelve una fila para cada
grupo. Las funciones de agregado de la lista