Bases de DatosDiseño de Base de DatosLenguaje SQL

Vistas indexadas – Sql Server 2008

— Vistas indexadasUSE PruebasGO

CREATE TABLE [dbo].[Productores](

[Id_Productor] [int] IDENTITY(1,1) NOT NULL,

[Nombre] [varchar](100) NOT NULL,

[Descripcion] [varchar](8000) NOT NULL,

[Id_Pais] [int] NULL)

CREATE TABLE [dbo].[Paises](

[Id_Pais] [int] IDENTITY(1,1) NOT NULL,

[Pais] [varchar](50) NOT NULL)

— SET STATISTICS IO ON Hace que SQL Server muestre información relacionada

— con la cantidad de actividad de disco generada por las instrucciones Transact-SQL.

SET STATISTICS IO ON

 

— Insertamos registros en Productores

INSERT INTO DBO.Productores (Nombre,Descripcion,Id_Pais) VALUES (‘Alquimia’,’Productora peruana Alquimia’,1)

INSERT INTO DBO.Productores (Nombre,Descripcion,Id_Pais) VALUES (‘Araba Films’,’Productora peruana Araba Films’,1)

INSERT INTO DBO.Productores (Nombre,Descripcion,Id_Pais) VALUES (‘Atlántico Films S.L.’,’Productora española Atlántico Films S.L.’,2)

— Insertamos registros en Paises

INSERT INTO DBO.Paises (Pais) VALUES (‘Perú’)

INSERT INTO DBO.Paises (Pais) VALUES (‘España’)

SELECT dbo.Paises.Id_Pais, dbo.Paises.Pais, COUNT_BIG(*) AS NumeroProductores

FROM dbo.Productores INNER JOIN

dbo.Paises ON dbo.Productores.Id_Pais = dbo.Paises.Id_Pais

GROUP BY dbo.Paises.Id_Pais, dbo.Paises.Pais

— Creando una vista indexada

CREATE VIEW DBO.NumerodeProductores

WITH SCHEMABINDING

AS

SELECT dbo.Paises.Id_Pais, dbo.Paises.Pais, COUNT_BIG(*) AS NumeroProductores

FROM dbo.Productores INNER JOIN

dbo.Paises ON dbo.Productores.Id_Pais = dbo.Paises.Id_Pais

GROUP BY dbo.Paises.Id_Pais, dbo.Paises.Pais

GO

— Creamos el indice sobre la vista

CREATE UNIQUE CLUSTERED INDEX Id_Pais ON

DBO.NumerodeProductores(Id_Pais)

— Mostramos la vista

SELECT * FROM DBO.NumerodeProductores

— Eliminamos las tablas y la vista creada

DROP TABLE DBO.Productores

DROP TABLE DBO.Paises

DROP VIEW DBO.NumerodeProductores

 

Fuente: rahsuarez

buhoos

Buhoos.com está conformado por profesionales especializados, dispuestos a impartir su experiencia con el propósito de complementar y generar nuevo conocimiento que demanden los futuros profesionales para una mejor integración en el ámbito laboral, además solventar los requerimientos que surjan en implantaciones de nuevos proyectos tecnológicos a nivel empresarial.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.