Está en la página 1de 11

UNIVERSIDAD POLITÉCNICA DE TULANCINGO.

Parcial 2
Actividad 1 “Indagación de Vistas SQL”.
Por
Nombre del alumno(a)

Ariadna Aguilar Tello.

Carrera:

U
Ingeniería en Sistemas Computacionales.

Asignatura:

Administración de Bases de Datos.

P Nombre del Catedrático:

Mtro. Juan Martin Hernández Ramírez

T ISC 62
Sexto Cuatrimestre
Tulancingo de Bravo, Hidalgo
Mayo – Agosto 2022.

pág. 1
Tabla de Contenidos
¿Qué es una vista en SQL?............................................................................................................ 4

Sintaxis ............................................................................................................................................... 5

Ejecución de una vista en SQL ...................................................................................................... 9

Ejemplo de una vista en SQL ....................................................................................................... 10

Bibliografía ..................................................................................................................................... 11

pág. 2
Concepto Descripción

pág. 3
Una vista es una tabla virtual cuyo contenido está definido por una consulta. Al igual que una tabla,
una vista consta de un conjunto de columnas y filas de datos con nombre. A menos que esté
indexada, una vista no existe como un conjunto de valores de datos almacenados en una base de
datos. Las filas y columnas de datos proceden de las tablas a las que se hace referencia en la
consulta que define la vista y se producen dinámicamente cuando se hace referencia a la vista.

Una vista actúa como un filtro en las tablas subyacentes referenciadas en la vista. La consulta que
define la vista puede provenir de una o varias tablas o de otras vistas en la base de datos actual o
en otras. Las consultas distribuidas también pueden utilizarse para definir vistas que utilicen datos
¿Qué es una vista en de múltiples fuentes heterogéneas. Esto es útil, por ejemplo, si se quieren combinar datos de
estructura similar procedentes de diferentes servidores, cada uno de los cuales almacena datos de
SQL? una región diferente de la organización.

Las vistas se utilizan generalmente para enfocar, simplificar y personalizar la percepción que cada
usuario tiene de la base de datos. Las vistas se pueden utilizar como mecanismos de seguridad al
permitir que los usuarios accedan a los datos a través de la vista, sin concederles permisos para
acceder directamente a las tablas base subyacentes de la vista. Las vistas pueden utilizarse para
proporcionar una interfaz compatible con el pasado para emular una tabla que solía existir, pero
cuyo esquema ha cambiado. Las vistas también se pueden utilizar cuando se copian datos desde y
hacia SQL Server para mejorar el rendimiento y particionar los datos.

pág. 4
Sintaxis

Crear Vistas
USE AdventureWorks2012 ;
GO
CREATE VIEW HumanResources.EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID ;
GO
-- Query the view
SELECT FirstName, LastName, HireDate
FROM HumanResources.EmployeeHireDate
ORDER BY LastName;

Crear Vistas Indizadas


--Set the options to support indexed views.
SET NUMERIC_ROUNDABORT OFF;
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT,
QUOTED_IDENTIFIER, ANSI_NULLS ON;
pág. 5
--Create view with schemabinding.
IF OBJECT_ID ('Sales.vOrders', 'view') IS NOT NULL
DROP VIEW Sales.vOrders ;
GO
CREATE VIEW Sales.vOrders
WITH SCHEMABINDING
AS
SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Revenue,
OrderDate, ProductID, COUNT_BIG(*) AS COUNT
FROM Sales.SalesOrderDetail AS od, Sales.SalesOrderHeader AS o
WHERE od.SalesOrderID = o.SalesOrderID
GROUP BY OrderDate, ProductID;
GO
--Create an index on the view.
CREATE UNIQUE CLUSTERED INDEX IDX_V1
ON Sales.vOrders (OrderDate, ProductID);
GO
--This query can use the indexed view even though the view is
--not specified in the FROM clause.
SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Rev,
OrderDate, ProductID
FROM Sales.SalesOrderDetail AS od
JOIN Sales.SalesOrderHeader AS o
ON od.SalesOrderID=o.SalesOrderID
AND o.OrderDate >= CONVERT(datetime,'05/01/2012',101)
WHERE od.ProductID BETWEEN 700 and 800
GROUP BY OrderDate, ProductID
ORDER BY Rev DESC;
GO
--This query can use the above indexed view.
SELECT OrderDate, SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Rev
FROM Sales.SalesOrderDetail AS od
JOIN Sales.SalesOrderHeader AS o
ON od.SalesOrderID=o.SalesOrderID
AND o.OrderDate >= CONVERT(datetime,'03/01/2012',101)
AND o.OrderDate < CONVERT(datetime,'04/01/2012',101)
GROUP BY OrderDate
ORDER BY OrderDate ASC;

Modificar Vistas
USE AdventureWorks2012 ;
GO
-- Create a view.
CREATE VIEW HumanResources.EmployeeHireDate
AS
pág. 6
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID ;

-- Modify the view by adding a WHERE clause to limit the rows returned.
ALTER VIEW HumanResources.EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID
WHERE HireDate < CONVERT(DATETIME,'20020101',101) ;
GO
Modificar Datos Mediante una Vista
USE AdventureWorks2012 ;
GO
UPDATE HumanResources.vEmployeeDepartmentHistory
SET StartDate = '20110203', EndDate = GETDATE()
WHERE LastName = N'Smith' AND FirstName = 'Samantha';
GO

Elimina Vistas
USE AdventureWorks2012 ;
GO
IF OBJECT_ID ('HumanResources.EmployeeHireDate', 'V') IS NOT NULL
DROP VIEW HumanResources.EmployeeHireDate;
GO

Obtener información acerca de una vista


USE AdventureWorks2012;
GO
SELECT definition, uses_ansi_nulls, uses_quoted_identifier, is_schema_bound
FROM sys.sql_modules
WHERE object_id = OBJECT_ID('HumanResources.vEmployee');
GO

USE AdventureWorks2012;
GO
SELECT OBJECT_DEFINITION (OBJECT_ID('HumanResources.vEmployee')) AS ObjectDefinition;
GO

EXEC sp_helptext 'HumanResources.vEmployee';

pág. 7
Cambiar el nombre de las vistas

Para cambiar el nombre de una vista


--En el Explorador de objetos, expanda la base de datos que contiene la vista cuyo nombre desea
cambiar y, a continuación, expanda la carpeta Vista .
--Haga clic con el botón derecho en la vista cuyo nombre quiere cambiar y seleccione Cambiar
nombre.
--Escriba el nuevo nombre de la vista.

pág. 8
Ejecución de una vista
en SQL

pág. 9
Ejemplo de una vista en
SQL

pág. 10
Bibliografía
2022, M. (s.f.). Microsoft Build. Obtenido de https://docs.microsoft.com/es-es/sql/sql-
server/?view=sql-server-ver15
TutorialSQL. (s.f.). Obtenido de
https://www.tutorialesprogramacionya.com/sqlserverya/temarios/descripcion.php?c
od=111&punto=105&inicio=

pág. 11

También podría gustarte