Inicio > Curso básico de SQL Server 2008 > Vistas indexadas – Sql Server 2008

Vistas indexadas – Sql Server 2008


— Vistas indexadas
USE Pruebas
GO

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

  1. 14 octubre 2012 a las 10:53 am

    Your means of telling all in this post is actually fastidious, all be able to without difficulty
    know it, Thanks a lot.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: