You are on page 1of 8

Nombre: Manuel Aquilino

Apellido: De Los Santos Pérez

Matricula: 2022-0528
Maestro: Francis Reyes
Materia: Electiva 1
Tarea: Creación de un almacén de datos para la base de datos Northwind
-- Entity Designer DDL Script for SQL Server 2005, 2008, 2012 and Azure

-- Date Created: 03/11/2024 19:20:15


-- Generated from EDMX file:
C:\Users\manue\source\repos\NORTHWINDBI\NORTHWINDBI.ConceptualModel\Model\Northwi
ndModel.edmx
SET QUOTED_IDENTIFIER OFF;
GO
USE [DWHNorthwindOrders];GO
IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');GO

-- Dropping existing FOREIGN KEY constraints

-- Dropping existing tables

-- Creating all tables

-- Creating table 'DimCustomersSet' CREATE


TABLE [dbo].[DimCustomersSet] (
[CustomerID] nvarchar(5) NOT NULL,
[CustomerName] nvarchar(40) NOT NULL
);
GO

-- Creating table 'DimEmployeesSet' CREATE


TABLE [dbo].[DimEmployeesSet] (
[EmployeeID] int IDENTITY(1,1) NOT NULL,
[EmployeeName] nvarchar(200) NOT NULL
);
GO

-- Creating table 'DimShippersSet' CREATE


TABLE [dbo].[DimShippersSet] (
[shipperID] int IDENTITY(1,1) NOT NULL,
[shipperName] nvarchar(40) NOT NULL
);
GO

-- Creating table 'DimDatesSet' CREATE


TABLE [dbo].[DimDatesSet] (
[DateKey] int IDENTITY(1,1) NOT NULL,
[Date] datetime NOT NULL, [DateName]
nvarchar(50) NOT NULL,[Month] int NOT
NULL,
[MonthName] nvarchar(50) NOT NULL,
[Quarter] int NOT NULL, [QuarterName]
nvarchar(50) NOT NULL,[Year] int NOT NULL,
[YearName] nvarchar(50) NOT NULL
);
GO

-- Creating table 'FactOrdersSet' CREATE TABLE


[dbo].[FactOrdersSet] (
[OrderNumber] int IDENTITY(1,1) NOT NULL,
[OrderID] int NOT NULL,
[OrderQuantity] int NOT NULL, [CustomerID]
nvarchar(5) NOT NULL,
[shipperID] int NOT NULL, [EmployeeID] int
NOT NULL,[DateKey] int NOT NULL
);
GO

-- Creating table 'FactOrderDetailSet' CREATE TABLE


[dbo].[FactOrderDetailSet] (
[OrderNumber] int IDENTITY(1,1) NOT NULL,
[FactOrdersOrderNumber] int NOT NULL,
[ProductKey] int NOT NULL,
[CategoryKey] nvarchar(max) NOT NULL
);
GO

-- Creating table 'DimProductSet' CREATE TABLE


[dbo].[DimProductSet] (
[ProductKey] int IDENTITY(1,1) NOT NULL,
[CategoryKey] int NOT NULL,
[ProductID] nvarchar(max) NOT NULL,
[ProductName] nvarchar(max) NOT NULL
);
GO

-- Creating table 'DimCategorySet' CREATE


TABLE [dbo].[DimCategorySet] (
[CategoryKey] int IDENTITY(1,1) NOT NULL,
[CategoryID] nvarchar(max) NOT NULL,
[CategoryName] nvarchar(max) NOT NULL
);
GO

-- Creating all PRIMARY KEY constraints

-- Creating primary key on [CustomerID] in table 'DimCustomersSet'ALTER TABLE


[dbo].[DimCustomersSet]
ADD CONSTRAINT [PK_DimCustomersSet]
PRIMARY KEY CLUSTERED ([CustomerID] ASC);
GO

-- Creating primary key on [EmployeeID] in table 'DimEmployeesSet'ALTER TABLE


[dbo].[DimEmployeesSet]
ADD CONSTRAINT [PK_DimEmployeesSet]
PRIMARY KEY CLUSTERED ([EmployeeID] ASC);
GO

-- Creating primary key on [shipperID] in table 'DimShippersSet'ALTER TABLE


[dbo].[DimShippersSet]
ADD CONSTRAINT [PK_DimShippersSet]
PRIMARY KEY CLUSTERED ([shipperID] ASC);
GO

-- Creating primary key on [DateKey] in table 'DimDatesSet'ALTER TABLE


[dbo].[DimDatesSet]
ADD CONSTRAINT [PK_DimDatesSet]
PRIMARY KEY CLUSTERED ([DateKey] ASC);
GO

-- Creating primary key on [OrderNumber] in table 'FactOrdersSet'ALTER TABLE


[dbo].[FactOrdersSet]
ADD CONSTRAINT [PK_FactOrdersSet]
PRIMARY KEY CLUSTERED ([OrderNumber] ASC);
GO

-- Creating primary key on [OrderNumber] in table 'FactOrderDetailSet'ALTER TABLE


[dbo].[FactOrderDetailSet]
ADD CONSTRAINT [PK_FactOrderDetailSet]
PRIMARY KEY CLUSTERED ([OrderNumber] ASC);
GO

-- Creating primary key on [ProductKey] in table 'DimProductSet'ALTER TABLE


[dbo].[DimProductSet]
ADD CONSTRAINT [PK_DimProductSet]
PRIMARY KEY CLUSTERED ([ProductKey] ASC);
GO

-- Creating primary key on [CategoryKey] in table 'DimCategorySet'ALTER TABLE


[dbo].[DimCategorySet]
ADD CONSTRAINT [PK_DimCategorySet]
PRIMARY KEY CLUSTERED ([CategoryKey] ASC);
GO

-- Creating all FOREIGN KEY constraints

-- Creating foreign key on [CustomerID] in table 'FactOrdersSet'ALTER TABLE


[dbo].[FactOrdersSet]
ADD CONSTRAINT [FK_DimCustomersFactOrders]
FOREIGN KEY ([CustomerID])
REFERENCES [dbo].[DimCustomersSet]
([CustomerID])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating non-clustered index for FOREIGN KEY 'FK_DimCustomersFactOrders'CREATE INDEX


[IX_FK_DimCustomersFactOrders]
ON [dbo].[FactOrdersSet]
([CustomerID]);
GO

-- Creating foreign key on [shipperID] in table 'FactOrdersSet'ALTER TABLE


[dbo].[FactOrdersSet]
ADD CONSTRAINT [FK_DimShippersFactOrders]
FOREIGN KEY ([shipperID])
REFERENCES [dbo].[DimShippersSet]
([shipperID])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating non-clustered index for FOREIGN KEY 'FK_DimShippersFactOrders'CREATE INDEX


[IX_FK_DimShippersFactOrders]
ON [dbo].[FactOrdersSet]
([shipperID]);
GO

-- Creating foreign key on [EmployeeID] in table 'FactOrdersSet'ALTER TABLE


[dbo].[FactOrdersSet]
ADD CONSTRAINT [FK_DimEmployeesFactOrders]
FOREIGN KEY ([EmployeeID])
REFERENCES [dbo].[DimEmployeesSet]
([EmployeeID])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating non-clustered index for FOREIGN KEY 'FK_DimEmployeesFactOrders'CREATE INDEX


[IX_FK_DimEmployeesFactOrders]
ON [dbo].[FactOrdersSet]
([EmployeeID]);
GO

-- Creating foreign key on [DateKey] in table 'FactOrdersSet'ALTER TABLE


[dbo].[FactOrdersSet]
ADD CONSTRAINT [FK_DimDatesFactOrders]
FOREIGN KEY ([DateKey])
REFERENCES [dbo].[DimDatesSet]
([DateKey])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating non-clustered index for FOREIGN KEY 'FK_DimDatesFactOrders'CREATE INDEX


[IX_FK_DimDatesFactOrders]
ON [dbo].[FactOrdersSet]
([DateKey]);
GO

-- Creating foreign key on [FactOrdersOrderNumber] in table 'FactOrderDetailSet'ALTER TABLE


[dbo].[FactOrderDetailSet]
ADD CONSTRAINT [FK_FactOrdersFactOrderDetail]
FOREIGN KEY ([FactOrdersOrderNumber])
REFERENCES [dbo].[FactOrdersSet]
([OrderNumber])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating non-clustered index for FOREIGN KEY 'FK_FactOrdersFactOrderDetail'CREATE INDEX


[IX_FK_FactOrdersFactOrderDetail]
ON [dbo].[FactOrderDetailSet]
([FactOrdersOrderNumber]);
GO

-- Creating foreign key on [ProductKey] in table 'FactOrderDetailSet'ALTER TABLE


[dbo].[FactOrderDetailSet]
ADD CONSTRAINT [FK_DimProductFactOrderDetail]
FOREIGN KEY ([ProductKey])
REFERENCES [dbo].[DimProductSet]
([ProductKey])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating non-clustered index for FOREIGN KEY 'FK_DimProductFactOrderDetail'CREATE INDEX


[IX_FK_DimProductFactOrderDetail]
ON [dbo].[FactOrderDetailSet]
([ProductKey]);
GO

-- Creating foreign key on [CategoryKey] in table 'DimProductSet'ALTER TABLE


[dbo].[DimProductSet]
ADD CONSTRAINT [FK_DimCategoryDimProduct]
FOREIGN KEY ([CategoryKey]) REFERENCES
[dbo].[DimCategorySet]
([CategoryKey])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO
-- Creating non-clustered index for FOREIGN KEY 'FK_DimCategoryDimProduct'CREATE INDEX
[IX_FK_DimCategoryDimProduct]
ON [dbo].[DimProductSet]([CategoryKey]);
GO

-- Script has ended

You might also like