UNIVERSIDAD NACIONAL DE TRUJILLO               INGENIERÍA DE DATOS II
MODELO DIMENSIONAL DE ESQUEMA ESTRELLA
                  BASE DE DATOS ORIGEN: NorthWind
   1. Dimensión: dimEmpleado
use VENTAS_DM
go
create table dimEmpleado
   (KeyEmpleado int identity primary key,
    EmpleadoID int,
    Nombre varchar(100)
    )
go
MERGE VENTAS_DM.dbo.dimEmpleado as dim USING
   (select EmployeeID,
    FirstName+' '+LastName as NombreEmpleado
           from NorthWind.dbo.Employees
       ) as oltp
       ON oltp.EmployeeID=dim.EmpleadoID
       when not matched then
       Insert(EmpleadoID, Nombre)
       values(EmployeeID, NombreEmpleado);
go
select * from dimEmpleado
   2. Dimensión: dimCliente
use VENTAS_DM
go
create table dimCliente
   (KeyCliente int identity primary key,
    ClienteID nvarchar(5),
    Compañia varchar(30),
    Contacto varchar(30),
    Ciudad    varchar(15),
    Region    varchar(15),
    Pais      varchar(15)
    )
go
MERGE VENTAS_DM.dbo.dimCliente as dim USING
   (select CustomerID,
        CompanyName,
              ContactName,
              City,
              Region,
              Country
           from NorthWind.dbo.Customers
       ) as oltp
       ON oltp.CustomerID=dim.ClienteID
       when not matched then
DR. LUIS BOY CHAVIL
UNIVERSIDAD NACIONAL DE TRUJILLO                            INGENIERÍA DE DATOS II
       Insert(ClienteID, Compañia, Contacto, Ciudad, Region, Pais)
       values(CustomerID, CompanyName, ContactName, City, Region, Country);
go
select * from dimCliente
     3. Dimensión: dimProducto
use VENTAS_DM
go
create table dimProducto
   (KeyProducto int identity primary key,
    ProductoID int,
    Producto varchar(40),
    Proveedor varchar(40),
    Categoria    varchar(15)
    )
go
MERGE VENTAS_DM.dbo.dimProducto as dim USING
   (select P.ProductID,
        P.ProductName,
              S.CompanyName,
              C.CategoryName
           from NorthWind.dbo.Products P
              join NorthWind.dbo.Suppliers S
                on P.SupplierID=S.SupplierID
        join NorthWind.dbo.Categories C
                on P.CategoryID=C.categoryID
       ) as oltp
       ON oltp.ProductID=dim.ProductoID
       when not matched then
       Insert(ProductoID, Producto, Proveedor, Categoria)
       values(ProductID, ProductName, CompanyName, CategoryName);
go
select * from dimProducto
     4. Dimensión: dimTiempo
use VENTAS_DM
go
create table dimTiempo
   (KeyTiempo int identity primary key,
    OrdenId    int,
    Anual   char(04),
    Mes     varchar(20),
    Dia     int,
    Fecha   char(10)
    )
go
DR. LUIS BOY CHAVIL
UNIVERSIDAD NACIONAL DE TRUJILLO                          INGENIERÍA DE DATOS II
MERGE VENTAS_DM.dbo.dimTiempo as dim USING
   (select distinct OrderId,
        Anual=year(O.OrderDate),
        Mes=datename(mm, O.OrderDate),
              Dia=datepart(dw, O.OrderDate),
              Fecha=convert(char(10), O.OrderDate, 103)
           from NorthWind.dbo.Orders O
       ) as oltp
       ON oltp.OrderID=dim.OrdenID
       when not matched then
       Insert(OrdenId, Anual, Mes, Dia, Fecha)
       values(OrderId, Anual, Mes, Dia, Fecha);
go
select * from dimTiempo
DR. LUIS BOY CHAVIL