[go: up one dir, main page]

0% encontró este documento útil (0 votos)
94 vistas3 páginas

4-Modelo Dimensional de Esquema Estrella

El documento describe la creación de un modelo dimensional de esquema estrella para una base de datos llamada NorthWind. Se detallan las tablas de dimensiones: dimEmpleado, dimCliente, dimProducto y dimTiempo, junto con sus respectivas estructuras y la lógica para insertar datos mediante la instrucción MERGE. Cada tabla incluye campos clave y se extraen datos de las tablas correspondientes de la base de datos NorthWind.

Cargado por

Andy Fernández
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
94 vistas3 páginas

4-Modelo Dimensional de Esquema Estrella

El documento describe la creación de un modelo dimensional de esquema estrella para una base de datos llamada NorthWind. Se detallan las tablas de dimensiones: dimEmpleado, dimCliente, dimProducto y dimTiempo, junto con sus respectivas estructuras y la lógica para insertar datos mediante la instrucción MERGE. Cada tabla incluye campos clave y se extraen datos de las tablas correspondientes de la base de datos NorthWind.

Cargado por

Andy Fernández
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

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

También podría gustarte