ETL
ETL - - Inteligencia Inteligencia de de Negocio Negocio ingenierosistemasjfsc1983ingenierosistemasjfsc1983@gmail.com@gmail.com
1
1
POBLAMIENTO UTILIZANDO ETL
POBLAMIENTO UTILIZANDO ETL
CREAMOSLA SIGUIENTE BASE DE DATOS:
CREAMOSLA SIGUIENTE BASE DE DATOS:
createdatabase
createdatabaseETLoadETLoad go
go Use
UseETLLoadETLLoad go
go
En esta base de datos se
En esta base de datos se va a cargar todas las tablas que vamos que tiene el va a cargar todas las tablas que vamos que tiene el ETLETL createfunction
createfunctiondbodbo..fn_mesfn_mes((@m@mintint))returnsvarcharreturnsvarchar((1515)) begin
begin
declare
declare@mes@mestabletable((codigocodigointint,,nombrenombrevarcharvarchar((1515)))) insert
insert@mes@mesvaluesvalues((11,,'Enero''Enero'),(),(22,,'Febrero''Febrero'),), (
(33,,'Marzo''Marzo'),(),(44,,'Abril''Abril'),(5),(5,,'Mayo''Mayo'),(),(66,,'Junio''Junio'),), (
(77,,'Julio''Julio'),(),(88,,'Agosto''Agosto'),(),(99,,'Setiembre''Setiembre'),), (
(1010,,'Octubre''Octubre'),(),(1111,,'Noviembre''Noviembre'),(),(1212,,'Diciembre''Diciembre')) return
return((selectselectnombrenombrefromfrom@mes@meswherewherecodigocodigo==@m@m)) end end go go --createfunction
createfunctiondbodbo..fn_diaSemfn_diaSem((@d@dintint))returnsvarcharreturnsvarchar((1515)) begin
begin
declare
declare@semana@semanatabletable((codigocodigointint,,nombrenombrevarcharvarchar((1515)))) insert
insert@semana@semanavaluesvalues((11,,'Lunes''Lunes'),(),(22,,'Martes''Martes'),), (
(33,,'Miércoles''Miércoles'),(),(44,,'Jueves''Jueves'),(),(55,,'Viernes''Viernes'),), (
(66,,'Sábado''Sábado'),(),(77,,'Domingo''Domingo')) return
return((selectselectnombrenombrefromfrom@semana@semanawherewherecodigocodigo==@d@d)) end
end go go
/*---/*---DEPAR---DEPARTAMENTO---TAMENTO---*/---*/
createtable
createtableDepartamentoDepartamento(( IdDepartamento
IdDepartamentoncharnchar((66)notnull)notnullprimarykeyprimarykey,, NombreDepartamento
NombreDepartamentonvarcharnvarchar((5050)notnull);)notnull);
/*---/*---*/---*/
/*---/*---PROVI---PROVINCIA---NCIA---*/---*/
createtable
createtableProvinciaProvincia(( IdProvincia
IdProvinciancharnchar((66)notnull)notnullprimarykeyprimarykey,, NombreProvincia
NombreProvincianvarcharnvarchar((5050)notnull,)notnull, IdDepartamento
IdDepartamentoncharnchar((66))foreignkeyreferencesforeignkeyreferencesDepartamentoDepartamento((IdDepartamentoIdDepartamento)notnull);)notnull);
/*---/*---*/---*/
/*---/*---DISTR---DISTRITO---ITO---*/---*/
createtable
createtableDistritoDistrito(( IdDistrito
IdDistritoncharnchar((77)notnull)notnullprimarykeyprimarykey,, NombreDistrito
NombreDistritonvarcharnvarchar((5050)notnull,)notnull, IdProvincia
IdProvinciancharnchar((66))foreignkeyreferencesforeignkeyreferencesProvinciaProvincia((IdProvinciaIdProvincia)notnull);)notnull);
ETL
ETL - - Inteligencia Inteligencia de de Negocio Negocio ingenierosistemasjfsc1983ingenierosistemasjfsc1983@gmail.com@gmail.com
2
2
/*---/*---CLIENT---CLIENTE---E---*/---*/
createtable
createtableClienteCliente(( IdCliente
IdClientencharnchar((66))primarykeyprimarykeynotnull,notnull, ApellidoCliente
ApellidoClientenvarcharnvarchar((5050)notnull,)notnull, NombreCliente
NombreClientenvarcharnvarchar((5050)notnull,)notnull, DniCliente
DniClientencharnchar((88)notnull,)notnull, IdDepartamento
IdDepartamentoncharnchar((66))foreignkeyreferencesforeignkeyreferencesDepartamentoDepartamento((IdDepartamentoIdDepartamento)notnull,)notnull, IdProvincia
IdProvinciancharnchar((66))foreignkeyreferencesforeignkeyreferencesProvinciaProvincia((IdProvinciaIdProvincia)notnull,)notnull, IdDistrito
IdDistritoncharnchar((77))foreignkeyreferencesforeignkeyreferencesDistritoDistrito((IdDistritoIdDistrito)notnull,)notnull, MailCliente
MailClientenvarcharnvarchar((5050)notnull,)notnull, TelCliente
TelClientenvarcharnvarchar((1515)notnull);)notnull);
/*---/*---*/---*/
/*---/*---CARGO---CARGO---*/-*/
createtable
createtableCargoCargo(( IdCargo
IdCargoncharnchar((66))primarykeyprimarykeynotnull,notnull, NombreCargo
NombreCargonvarcharnvarchar((5050)notnull);)notnull);
/*---/*---*/---*/
/*---/*---EMPLEA---EMPLEADO---DO---*/---*/
createtable
createtableEmpleadoEmpleado(( IdEmpleado
IdEmpleadoncharnchar((66))primarykeyprimarykeynotnull,notnull, ApellidoEmpleado
ApellidoEmpleadonvarcharnvarchar((5050)notnull,)notnull, NombreEmpleado
NombreEmpleadonvarcharnvarchar((5050)notnull,)notnull, IdCargo
IdCargoncharnchar((66))foreignkeyreferencesforeignkeyreferencesCargoCargo((IdCargoIdCargo)notnull,)notnull, DniEmpleado
DniEmpleadoncharnchar((88)notnull,)notnull, IdDepartamento
IdDepartamentoncharnchar((66))foreignkeyreferencesforeignkeyreferencesDepartamentoDepartamento((IdDepartamentoIdDepartamento)notnull,)notnull, IdProvincia
IdProvinciancharnchar((66))foreignkeyreferencesforeignkeyreferencesProvinciaProvincia((IdProvinciaIdProvincia)notnull,)notnull, IdDistrito
IdDistritoncharnchar((77))foreignkeyreferencesforeignkeyreferencesDistritoDistrito((IdDistritoIdDistrito)notnull,)notnull, MailEmpleado
MailEmpleadonvarcharnvarchar((5050)notnull,)notnull, TelEmpleado
TelEmpleadonvarcharnvarchar((1515)notnull);)notnull);
/*---/*---*/---*/
/*---/*---PROVEE---PROVEEDOR---DOR---*/---*/
createtable
createtableProveedorProveedor(( IdProveedor
IdProveedorncharnchar((66))primarykeyprimarykey,, NombreProveedor
NombreProveedornvarcharnvarchar((5050)notnull,)notnull, RucProveedor
RucProveedorncharnchar((1111)notnull,)notnull, ApeliidoContacto
ApeliidoContactonvarcharnvarchar((5050)notnull,)notnull, NombreContacto
NombreContactonvarcharnvarchar((5050)notnull,)notnull, DireProveedor
DireProveedornvarcharnvarchar((5050)notnull,)notnull, MailProveedor
MailProveedornvarcharnvarchar((5050)notnull,)notnull, TelProveedor
TelProveedornvarcharnvarchar((1515)notnull);)notnull);
/*---/*---*/---*/
/*---/*---CATEGO---CATEGORIA---RIA---*/---*/
createtable
createtableCategoriaCategoria(( IdCategoria
IdCategoriancharnchar((66))primarykeyprimarykeynotnull,notnull, NombreCategoria
NombreCategorianvarcharnvarchar((5050)notnull);)notnull);
ETL
ETL - - Inteligencia Inteligencia de de Negocio Negocio ingenierosistemasjfsc1983ingenierosistemasjfsc1983@gmail.com@gmail.com
2
2
/*---/*---CLIENT---CLIENTE---E---*/---*/
createtable
createtableClienteCliente(( IdCliente
IdClientencharnchar((66))primarykeyprimarykeynotnull,notnull, ApellidoCliente
ApellidoClientenvarcharnvarchar((5050)notnull,)notnull, NombreCliente
NombreClientenvarcharnvarchar((5050)notnull,)notnull, DniCliente
DniClientencharnchar((88)notnull,)notnull, IdDepartamento
IdDepartamentoncharnchar((66))foreignkeyreferencesforeignkeyreferencesDepartamentoDepartamento((IdDepartamentoIdDepartamento)notnull,)notnull, IdProvincia
IdProvinciancharnchar((66))foreignkeyreferencesforeignkeyreferencesProvinciaProvincia((IdProvinciaIdProvincia)notnull,)notnull, IdDistrito
IdDistritoncharnchar((77))foreignkeyreferencesforeignkeyreferencesDistritoDistrito((IdDistritoIdDistrito)notnull,)notnull, MailCliente
MailClientenvarcharnvarchar((5050)notnull,)notnull, TelCliente
TelClientenvarcharnvarchar((1515)notnull);)notnull);
/*---/*---*/---*/
/*---/*---CARGO---CARGO---*/-*/
createtable
createtableCargoCargo(( IdCargo
IdCargoncharnchar((66))primarykeyprimarykeynotnull,notnull, NombreCargo
NombreCargonvarcharnvarchar((5050)notnull);)notnull);
/*---/*---*/---*/
/*---/*---EMPLEA---EMPLEADO---DO---*/---*/
createtable
createtableEmpleadoEmpleado(( IdEmpleado
IdEmpleadoncharnchar((66))primarykeyprimarykeynotnull,notnull, ApellidoEmpleado
ApellidoEmpleadonvarcharnvarchar((5050)notnull,)notnull, NombreEmpleado
NombreEmpleadonvarcharnvarchar((5050)notnull,)notnull, IdCargo
IdCargoncharnchar((66))foreignkeyreferencesforeignkeyreferencesCargoCargo((IdCargoIdCargo)notnull,)notnull, DniEmpleado
DniEmpleadoncharnchar((88)notnull,)notnull, IdDepartamento
IdDepartamentoncharnchar((66))foreignkeyreferencesforeignkeyreferencesDepartamentoDepartamento((IdDepartamentoIdDepartamento)notnull,)notnull, IdProvincia
IdProvinciancharnchar((66))foreignkeyreferencesforeignkeyreferencesProvinciaProvincia((IdProvinciaIdProvincia)notnull,)notnull, IdDistrito
IdDistritoncharnchar((77))foreignkeyreferencesforeignkeyreferencesDistritoDistrito((IdDistritoIdDistrito)notnull,)notnull, MailEmpleado
MailEmpleadonvarcharnvarchar((5050)notnull,)notnull, TelEmpleado
TelEmpleadonvarcharnvarchar((1515)notnull);)notnull);
/*---/*---*/---*/
/*---/*---PROVEE---PROVEEDOR---DOR---*/---*/
createtable
createtableProveedorProveedor(( IdProveedor
IdProveedorncharnchar((66))primarykeyprimarykey,, NombreProveedor
NombreProveedornvarcharnvarchar((5050)notnull,)notnull, RucProveedor
RucProveedorncharnchar((1111)notnull,)notnull, ApeliidoContacto
ApeliidoContactonvarcharnvarchar((5050)notnull,)notnull, NombreContacto
NombreContactonvarcharnvarchar((5050)notnull,)notnull, DireProveedor
DireProveedornvarcharnvarchar((5050)notnull,)notnull, MailProveedor
MailProveedornvarcharnvarchar((5050)notnull,)notnull, TelProveedor
TelProveedornvarcharnvarchar((1515)notnull);)notnull);
/*---/*---*/---*/
/*---/*---CATEGO---CATEGORIA---RIA---*/---*/
createtable
createtableCategoriaCategoria(( IdCategoria
IdCategoriancharnchar((66))primarykeyprimarykeynotnull,notnull, NombreCategoria
NombreCategorianvarcharnvarchar((5050)notnull);)notnull);
ETL
ETL - - Inteligencia Inteligencia de de Negocio Negocio ingenierosistemasjfsc1983ingenierosistemasjfsc1983@gmail.com@gmail.com
3
3
/*---/*---MARCA---MARCA---*/---*/
createtable
createtableMarcaMarca(( IdMarca
IdMarcancharnchar((66))primarykeyprimarykeynotnull,notnull, NombreMarca
NombreMarcanvarcharnvarchar((5050)notnull);)notnull);
/*---/*---*/---*/
/*---/*---PRODU---PRODUCTO---CTO---*/---*/
createtable
createtableProductoProducto(( IdProducto
IdProductoncharnchar((66))primarykeyprimarykeynotnull,notnull, DescriProducto
DescriProductovarcharvarchar((5050)notnull,)notnull, IdMarca
IdMarcancharnchar((66))foreignkeyreferencesforeignkeyreferencesMarcaMarca((IdMarcaIdMarca)notnull,)notnull, IdProveedor
IdProveedorncharnchar((66))foreignkeyreferencesforeignkeyreferencesProveedorProveedor((IdProveedorIdProveedor)notnull,)notnull, IdCategoria
IdCategoriancharnchar((66))foreignkeyreferencesforeignkeyreferencesCategoriaCategoria((IdCategoriaIdCategoria)notnull,)notnull, PrecioUnidad
PrecioUnidadmoneymoneynotnull,notnull, UnidadesEnExistencia
UnidadesEnExistenciasmallintsmallintnotnull);notnull);
/*---/*---*/---*/
/*---/*---ORDEN---ORDEN---*/---*/
createtable
createtableOrdenOrden(( IdOrden
IdOrdenncharnchar((66))primarykeyprimarykeynotnull,notnull, IdCliente
IdClientencharnchar((66))foreignkeyreferencesforeignkeyreferencesClienteCliente((IdClienteIdCliente)notnull,)notnull, IdEmpleado
IdEmpleadoncharnchar((66))foreignkeyreferencesforeignkeyreferencesEmpleadoEmpleado((IdEmpleadoIdEmpleado)notnull,)notnull, IdDistrito
IdDistritoncharnchar((77))foreignkeyreferencesforeignkeyreferencesDistritoDistrito((IdDistritoIdDistrito)notnull,)notnull, FechaPedido
FechaPedidodatedatenotnull,notnull, FechaEntrega
FechaEntregadatedatenotnull);notnull);
/*---/*---*/---*/
/*---/*---DETALLE---DETALLEORDEN---ORDEN---*/---*/
createtable
createtableDetalleOrdenDetalleOrden(( IdOrden
IdOrdenncharnchar((66))foreignkeyreferencesforeignkeyreferencesOrdenOrden((IdOrdenIdOrden)notnull,)notnull, IdProducto
IdProductoncharnchar((66))foreignkeyreferencesforeignkeyreferencesProductoProducto((IdProductoIdProducto)notnull,)notnull, PrecioUnidad
PrecioUnidadmoneymoneynotnull,notnull, Cantidad
Cantidadsmallintsmallintnotnull);notnull);
ETL
ETL - - Inteligencia Inteligencia de de Negocio Negocio ingenierosistemasjfsc1983ingenierosistemasjfsc1983@gmail.com@gmail.com
4
4
INGRESAMOS LOS REGISTROS PARA CADA TABLA CREADA CON EL SIGUIENTE CODIGO
INGRESAMOS LOS REGISTROS PARA CADA TABLA CREADA CON EL SIGUIENTE CODIGO
Use
UseETLoadETLoad go
go
/*---/*---DEPART---DEPARTAMENTO---AMENTO---*/---*/
insertinto
insertintoDepartamentoDepartamentovaluesvalues (
('DEP007''DEP007',,'CALLAO''CALLAO'),(),('DEP015''DEP015',,'LIMA''LIMA');); --select * from departamento
--select * from departamento
/*---/*---*/----*/
/*---/*---PROVIN---PROVINCIA---CIA---*/--*/
insertinto
insertintoprovinciaprovinciavaluesvalues (
('PRV066''PRV066',,'CALLAO''CALLAO',,'DEP007''DEP007'),('PRV127'),('PRV127',,'LIMA''LIMA',,'DEP015''DEP015');); --select * from provincia
--select * from provincia
/*---/*---*/----*/
/*---/*---DISTRI---DISTRITO---TO---*/-*/
insertinto
insertintoDistritoDistritovaluesvalues
(
('DIS0659''DIS0659',,'CALLAO''CALLAO',,'PRV066''PRV066'),(),('DIS0660''DIS0660',,'BELLAVISTA''BELLAVISTA',,'PRV066''PRV066'),(),('DIS0661''DIS0661',,'CARMEN DE LA LEGUA'CARMEN DE LA LEGUA
REYNOSO'
REYNOSO',,'PRV066''PRV066'),),
(
('DIS0662''DIS0662',,'LA PERLA''LA PERLA',,'PRV066''PRV066'),(),('DIS0663''DIS0663',,'LA'LA
PUNTA'
PUNTA',,'PRV066''PRV066'),(),('DIS0664''DIS0664',,'VENTANILLA''VENTANILLA',,'PRV066''PRV066'),(),('DIS1223''DIS1223',,'LIMA''LIMA',,'PRV127''PRV127'),(),('DIS1224''DIS1224',,'ANCON''ANCON'
,
,'PRV127''PRV127'),(),('DIS1225''DIS1225',,'ATE''ATE',,'PRV127''PRV127'),(),('DIS1226''DIS1226',,'BARRANCO''BARRANCO',,'PRV127''PRV127'),(),('DIS1227''DIS1227',,'BREÑA''BREÑA',,'PRV127''PRV127'
),(
),('DIS1228''DIS1228',,'CARABAYLLO''CARABAYLLO',,'PRV127''PRV127'),(),('DIS1229''DIS1229',,'CHACLACAYO''CHACLACAYO',,'PRV127''PRV127'),(),('DIS1230''DIS1230',,'CHORRILLOS''CHORRILLOS',,'PR'PR
V127'
V127'),(),('DIS1231''DIS1231',,'CIENEGUILLA''CIENEGUILLA',,'PRV127''PRV127'),(),('DIS1232''DIS1232',,'COMAS''COMAS',,'PRV127''PRV127'),(),('DIS1233''DIS1233',,'EL'EL
AGUSTINO'
AGUSTINO',,'PRV127''PRV127'),(),('DIS1234''DIS1234',,'INDEPENDENCIA''INDEPENDENCIA',,'PRV127''PRV127'),(),('DIS1235''DIS1235',,'JESUS'JESUS
MARIA'
MARIA',,'PRV127''PRV127'),(),('DIS1236''DIS1236',,'LA MOLINA''LA MOLINA',,'PRV127''PRV127'),(),('DIS1237''DIS1237',,'LA'LA
VICTORIA'
VICTORIA',,'PRV127''PRV127'),(),('DIS1238''DIS1238',,'LINCE''LINCE',,'PRV127''PRV127'),(),('DIS1239''DIS1239',,'LOS'LOS
OLIVOS'
OLIVOS',,'PRV127''PRV127'),(),('DIS1240''DIS1240',,'LURIGANCHO''LURIGANCHO',,'PRV127''PRV127'),(),('DIS1241''DIS1241',,'LURIN''LURIN',,'PRV127''PRV127'),(),('DIS1242''DIS1242',,'MAGD'MAGD
ALENA DEL MAR'
ALENA DEL MAR',,'PRV127''PRV127'),(),('DIS1243''DIS1243',,'MAGDALENA'MAGDALENA
VIEJA'
VIEJA',,'PRV127''PRV127'),(),('DIS1244''DIS1244',,'MIRAFLORES''MIRAFLORES',,'PRV127''PRV127'),(),('DIS1245''DIS1245',,'PACHACAMAC''PACHACAMAC',,'PRV127''PRV127'),(),('DIS1246''DIS1246',,''
PUCUSANA'
PUCUSANA',,'PRV127''PRV127'),(),('DIS1247''DIS1247',,'PUENTE PIEDRA''PUENTE PIEDRA',,'PRV127''PRV127'),(),('DIS1248''DIS1248',,'PUNTA HERMOSA''PUNTA HERMOSA',,'PRV127''PRV127'),),
(
('DIS1249''DIS1249',,'PUNTA NEGRA''PUNTA NEGRA',,'PRV127''PRV127'),(),('DIS1250''DIS1250',,'RIMAC''RIMAC',,'PRV127''PRV127'),(),('DIS1251''DIS1251',,'SAN'SAN
BARTOLO'
BARTOLO',,'PRV127''PRV127'),(),('DIS1252''DIS1252',,'SAN BORJA''SAN BORJA',,'PRV127''PRV127'),(),('DIS1253''DIS1253',,'SAN'SAN
ISIDRO'
ISIDRO',,'PRV127''PRV127'),(),('DIS1254''DIS1254',,'SAN JUAN DE LURIGANCHO''SAN JUAN DE LURIGANCHO',,'PRV127''PRV127'),(),('DIS1255''DIS1255',,'SAN JUAN DE'SAN JUAN DE
MIRAFLORES'
MIRAFLORES',,'PRV127''PRV127'),(),('DIS1256''DIS1256',,'SAN LUIS''SAN LUIS',,'PRV127''PRV127'),(),('DIS1257''DIS1257',,'SAN MARTIN DE'SAN MARTIN DE
PORRES'
PORRES',,'PRV127''PRV127'),(),('DIS1258''DIS1258',,'SAN MIGUEL''SAN MIGUEL',,'PRV127''PRV127'),(),('DIS1259''DIS1259',,'SANTA ANITA''SANTA ANITA',,'PRV127''PRV127'),),
(
('DIS1260''DIS1260',,'SANTA MARIA DEL MAR''SANTA MARIA DEL MAR',,'PRV127''PRV127'),(),('DIS1261''DIS1261',,'SANTA ROSA''SANTA ROSA',,'PRV127''PRV127'),(),('DIS1262''DIS1262',,'SANTIAGO'SANTIAGO
DE SURCO'
DE SURCO',,'PRV127''PRV127'),(),('DIS1263''DIS1263',,'SURQUILLO''SURQUILLO',,'PRV127''PRV127'),(),('DIS1264''DIS1264',,'VILLA EL'VILLA EL
SALVADOR'
SALVADOR',,'PRV127''PRV127'),(),('DIS1265''DIS1265',,'VILLA MARIA DEL TRIUNFO''VILLA MARIA DEL TRIUNFO',,'PRV127''PRV127'););
--select * from distrito
--select * from distrito
/*---/*---*/----*/
/*---/*---CLIENT---CLIENTE---E---*/---*/
insertinto
insertintoClienteClientevaluesvalues (
('CL0001''CL0001',,'Flores Donayre''Flores Donayre',,'Henry'Henry
Julio'
Julio',,'41998587''41998587',,'DEP007''DEP007',,'PRV066''PRV066',,'DIS0659''DIS0659',,'jmorales@hotmail.com''jmorales@hotmail.com',,'965885232''965885232'),),
(
('CL0002''CL0002',,'Rios Herrera''Rios Herrera',,'Pedro'Pedro
Hirving'
Hirving',,'45668899''45668899',,'DEP007''DEP007',,'PRV066''PRV066',,'DIS0659''DIS0659',,'jrios@hotmail.com''jrios@hotmail.com',,'989562541''989562541'),),
(
('CL0003''CL0003',,'Ramirez Toscano''Ramirez Toscano',,'Yanet'Yanet
Stefani'
Stefani',,'41258896''41258896',,'DEP015''DEP015',,'PRV127''PRV127',,'DIS1258''DIS1258',,'rtoscano@hotmail.com''rtoscano@hotmail.com',,'985697321''985697321'),),
(
('CL0004''CL0004',,'Sanchez Condezo''Sanchez Condezo',,'Jesus'Jesus
Miguel'
Miguel',,'47586323''47586323',,'DEP015''DEP015',,'PRV127''PRV127',,'DIS1257''DIS1257',,'scondezo@hotmail.com''scondezo@hotmail.com',,'956985321''956985321'),),
(
('CL0005''CL0005',,'Santos Palacios''Santos Palacios',,'Carlos'Carlos
Alberto'
Alberto',,'45632403''45632403',,'DEP015''DEP015',,'PRV127''PRV127',,'DIS1264''DIS1264',,'jreyes@hotmail.com''jreyes@hotmail.com',,'989801241''989801241');); --select * from Cliente
--select * from Cliente
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
5
/*---CARGO---*/insertintoCargovalues
('CAR001','Gerente General'),
('CAR002','Sub Gerente de Marketing'), ('CAR003','Encargado De Ventas'), ('CAR004','Soporte Tecnico'), ('CAR005','Encargado De Almacen'), ('CAR006','Limpieza en General'); --select * from Cargo
/*---*/ /*---EMPLEADO---*/ insertintoEmpleadovalues ('EMP001','Ostos Peres','Alonso Robert','CAR002','45897856','DEP007','PRV066','DIS0659','ostos_8@hotmail.com','987845122'), ('EMP002','Florencio Ayala','Rey Sonia','CAR003','46235689','DEP007','PRV066','DIS0659','florencio_4@hotmail.com','986532152' ), ('EMP003','Bello De la Cruz','Lesly Consuelo','CAR001','45895675','DEP007','PRV066','DIS0659','bello_dela@hotmail.com','98658718 5'), ('EMP004','Caro Visitacion','Diana Soledad','CAR005','46235689','DEP015','PRV127','DIS1264','carovisitacion@hotmail.com','98652 4871'), ('EMP005','Breas Silva','Carlos Angelo','CAR006','46235689','DEP015','PRV127','DIS1264','breassilva@hotmail.com','987412548' );
--select * from Empleado
/*---*/
/*---PROVEEDOR---*/ insertintoProveedorvalues
('PVD001','Computer sac','20489745619','Evangelista Hijar','Hefner Euler','Bolivia','ehijar@gmail.com','988957411'),
('PVD002','IDAT PERÚ sac','20455385219','Jacobo Eugenio','Maria Lucero','Colombia','jbucho@intelecperu.com' ,'987654321'),
('PVD003','CISCO PERU sac','20859721219','Maguiña Santos','Williams Arquímides','Colombia','msantos@ciscoperu.com','984125891'),
('PVD004','CESCA EIRL','20885621479','Rimac Rosales','Noemi Ofelia','Peru','rrosales@cesca.com','984184591'),
('PVD005','INTERNATIONAL EIRL','20741236589','Saavedra Espinoza','Liz Sully','Brasil','sespinoza@international.com','987456211');
--select * from Proveedor
/*---*/ /*---CATEGORIA---*/ insertintoCategoriavalues ('CTG001','Laptops'), ('CTG002','CPU'), ('CTG003','Memoria'), ('CTG004','Placa'), ('CTG005','Mouse'), ('CTG006','Teclado'); --select * from Categoria
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
6
/*---MARCA---*/ insertintoMarcavalues ('MRC001','Toshiba'), ('MRC002','Hp'), ('MRC003','Intel'), ('MRC004','PcChip'), ('MRC005','Micronics'), ('MRC006','Kinstong'); --select * from Marca/*---*/
/*---PRODUCTO---*/ insertintoProductovalues
('PR0001','TOSHIBA LAPTOP S45-A4111SL','MRC001','PVD002','CTG001',2899.00,10), ('PR0002','Placa Inte Core I5','MRC003','PVD003','CTG004',390.00,15),
('PR0003','Memoria DDR 4 32GB','MRC006','PVD004','CTG003',200.00,8), ('PR0004','MOUSE Optico','MRC005','PVD002','CTG005',60.00,20),
('PR0005','TECLADO Multimedia','MRC005','PVD001','CTG006',60.00,18);
/*---*/
--select * from Producto
/*---ORDEN---*/ insertintoOrdenvalues ('OD0001','CL0001','EMP001','DIS0659','2014-03-08','2014-03-10'), ('OD0002','CL0001','EMP001','DIS0659','2014-09-06','2014-09-12'), ('OD0003','CL0001','EMP001','DIS0659','2015-05-08','2015-05-09'), ('OD0004','CL0002','EMP001','DIS0659','2014-04-07','2014-04-08'), ('OD0005','CL0002','EMP001','DIS0659','2015-02-09','2014-02-11'), ('OD0006','CL0002','EMP001','DIS0659','2015-02-01','2014-02-02'); --select * from Orden
/*---*/ /*---DETALLEORDEN---*/ insertintoDetalleOrdenvalues ('OD0001','PR0001',2899.00,3), ('OD0002','PR0001',2899.00,4), ('OD0003','PR0003',400.00,2), ('OD0004','PR0005',300.00,5), ('OD0005','PR0004',360.00,6), ('OD0006','PR0002',200.00,1); --select * from DetalleOrden
/*---*/
CREAMOS LA SIGUIENTE BASE DE DATOS:
createdatabase ETLDataWare go
UseETLDataWare go
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
7
createfunction dbo.fn_mes(@mint)returnsvarchar(15) begin declare@mestable(codigoint,nombrevarchar(15)) insert@mesvalues(1,'Enero'),(2,'Febrero'), (3,'Marzo'),(4,'Abril'),(5,'Mayo'),(6,'Junio'), (7,'Julio'),(8,'Agosto'),(9,'Setiembre'), (10,'Octubre'),(11,'Noviembre'),(12,'Diciembre') return(selectnombrefrom@meswherecodigo=@m) end go --createfunction dbo.fn_diaSem(@dint)returnsvarchar (15) begin declare@semanatable(codigoint,nombrevarchar(15)) insert@semanavalues(1,'Lunes'),(2,'Martes'), (3,'Miércoles'),(4,'Jueves'),(5,'Viernes'), (6,'Sábado'),(7,'Domingo') return(selectnombrefrom@semanawherecodigo=@d) end go /*---UBIGEO---*/ createtableDimUbigeo( Ubigeo_SKeyintidentity (1,1)primarykeynotnull, IdDepartamento nchar(10)notnull, NombreDepartamentonvarchar(50)notnull, IdProvincianchar(10)notnull, NombreProvincianvarchar(50)notnull, IdDistritonchar(10)notnull, NombreDistrito nvarchar(50)notnull); --Select * from DimUbigeo/*---*/ /*---CLIENTE---*/ createtableDimCliente( EClienteintidentity (1,1)primarykeynotnull, IdClientenchar(6)notnull, NombreClientenvarchar(150)notnull, IdDistritonchar(10)notnull, NombreDistrito nvarchar(50)notnull, DniClientenchar(8)notnull);
--Select * from DimCliente
/*---*/ /*---EMPLEADO---*/ createtableDimEmpleado( EEmpleadointidentity (1,1)primarykeynotnull, IdEmpleadonchar(6)notnull, NombreEmpleado nvarchar(150)notnull, IdDistritonchar(10)notnull, NombreDistrito nvarchar(50)notnull, DniEmpleadonchar(8)notnull);
--Select * from DimEmpleado
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
8
/*---PRODUCTO---*/ createtableDimProducto( EProductointidentity (1,1)primarykeynotnull, IdProductonchar(6)notnull, DescriProducto varchar(100)notnull, IdMarcanchar(6)notnull, NombreMarcanvarchar(50)notnull, IdCategorianchar(6)notnull, NombreCategorianvarchar(50)notnull, PrecioUnidadmoneynull);--Select * from DimProducto
/*---*/ /*---TIEMPO---*/ createtableDimTiempo( FechaIdintprimarykeynotnull, Fechadatetimenotnull, Añosmallintnotnull, Trimestretinyintnotnull, Mestinyintnotnull, NomMesvarchar(15)notnull, Diatinyintnotnull, DiaSemtinyintnotnull, NomDiaSemvarchar(15)notnull); --Select * from DimTiempo
/*---*/ /*---VentaOrden---*/ createtableFactVentaOrden( EClienteintreferencesDimClientenotnull, EEmpleadointreferencesDimEmpleadonotnull, Ubigeo_SKeyintreferencesDimUbigeonotnull, EProductointreferencesDimProductonotnull, FechaIdintreferencesDimTiemponotnull, Totalmoneynotnull); --Select * fromFactVentaOrden /*---*/
UNA VEZ CREADO LAS BASE INGRESAMOS AL MICROSOFT VISUAL STUDIO:
NOMBRE
ETLFinal
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
9
CREAMOS UNA CONEXIÓN CON LA BASE DE DATO DE LA CUAL SE VAN A OBTENER LOS
REGISTROS
PROBAMOS LA CONEXIÓN
RESULTADO…ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
10
Se procede a realizarCreamos una tarea Ejecutar SQL, como se detalla para luego elegimos y hacemos click
derecho-EDITAR
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
11
Seleccionamos la opción SQL StatementETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
12
CREAMOS CINCO TAREAS FLUJO DE DATOS Y LA RELACIONAMOS CON LA TAREA EJECUTAR SQL
OBJETO GRABAR DIMCLIENTE
CONTINUAMOS E INGRESAMOS al objeto
Grabar DimCliente,
para crear los siguientes objetos que esOrigen de OLE DB
–
Copiar Columna
–
Destino de OLE DB,
como se detalla e INGRESAMOS AL ORIGENETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
13
Ingresamos al origen OLE DB para poder realizar la conexión de la base de datos ORIGEN es
decir ETLoad que creamos en SQL.
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
14
SELECCIONAMOS EL NOMBRE DEL SERVIDOR Y LA BASE DE DATOS - ACEPTAR
LUEGO DE FORMA PREDETERMINADA APARECE SELCCIONADO LA CONEXIÓN QUE
CONFIGURAMOS
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
15
ESCOGEMOS LA TABLA DE CUAL SE VAN A EXTRAER LOS REGISTROS EN ESTE CASO LA TABLA
CLIENTE - Modo de Acceso a datos: Seleccionamos Comando SQL GENERAR CONSULTA
Generamos la consulta y agregamos las tablas CLIENTE y DISTRITO: como se ve en la base de
datos
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
16
SELECCIONAMOS LAS SIGUIENTES TABLAS COMO SE VISUALIZA - AGREGAR
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
17
ADEMÁS PARA UNIR EL APELLIDO Y EL NOMBRE REALIZAMOS LO SIGUIENTE.
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
18
VAMOS AL DESTINO OLE BD y seleccionamos la tabla DimCliente
En la opción asignaciones verificamos si la tabla origen CLIENTE está relacionada con la tabla
destino DimCliente - PARA FINALIZAR ACEPTAR
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
19
Ejecutamos y sale el resultado LA EJECUCIÓN SE COMPLETO CORRECTAMENTE
OBJETO GRABAR DIMEMPLEADO
CONTINUAMOS E INGRESAMOS al objeto
Grabar DimEmpleado,
para crear los siguientes objetos que esOrigen de OLE DB
–
Copiar Columna
–
Destino de OLE DB,
como se detalla e INGRESAMOS AL ORIGENETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
20
Seleccionamos la opción MODO DE ACCESO A DATOS
–
para generar la consulta.
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
21
Seleccionamos los campos en merito a la tabla DimEmpleado como se ve a continuaciónUNA VEZ SELCCIONADO PROCEDEMOS A UNIR EL APELLIDO Y NOMBRE DEL EMPLEADO COMO EL CODIGO QUE SE VISULIZA EN LA CONSULTA.
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
22
VISTA PREVIA…ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
23
En la opción asignaciones verificamos si la tabla origen EMLPEADO está relacionada con la
tabla destino DimEmpleado
–
PARA FINALIZAR ACEPTAR
OBJETO GRABAR DIMPRODUCTO
CONTINUAMOS E INGRESAMOS al objeto
Grabar DimProducto,
para crear los siguientes objetos que esOrigen de OLE DB
–
Copiar Columna
–
Destino de OLE DB,
como se detalla e INGRESAMOS AL ORIGEN.ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
24
Seleccionamos la opción MODO DE ACCESO A DATOS
–
para generar la consulta.
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
25
AGREGAMOS LAS TABLASETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
26
LA CONSULTA PROCESADAETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
27
VAMOS AL DESTINO OLE BD y seleccionamos la tabla DimProducto
En la opción asignaciones verificamos si la tabla origen PRODUCTO está relacionada con la
tabla destino DimProducto
–
PARA FINALIZAR ACEPTAR
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
28
OBJETO GRABAR DIMUBIGEO
CONTINUAMOS E INGRESAMOS al objeto
Grabar DimUbigeo,
para crear los siguientes objetos que esOrigen de OLE DB
–
Copiar Columna
–
Destino de OLE DB,
como se detalla e INGRESAMOS AL ORIGEN.ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
29
SELECCIONAMOS LAS TABLAS: Producto, Marca y Categoría DEACUERDO A LA TABLA DIMUBIGEOETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
30
SELECIONAMOS LOS CAMPOS A TRABAJARETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
31
VISTA PREVIA…
VAMOS AL DESTINO OLE BD y seleccionamos la tabla DimUbigeo
-ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
32
En la opción asignaciones verificamos si la tabla origen UBIGEO está relacionada con la tabla
destino DimUbigeo
–
PARA FINALIZAR ACEPTAR
OBJETO GRABAR DIMTIEMPO
CONTINUAMOS E INGRESAMOS al objeto
Grabar DimTiempo,
para crear los siguientes objetos que esOrigen de OLE DB
–
Copiar Columna
–
Destino de OLE DB,
como se detalla e INGRESAMOS AL ORIGEN.ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
33
Seleccionamos la opción MODO DE ACCESO A DATOS
–
para generar la consulta.
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
34
AGREGAMOS LAS TABLASCONSULTA SQL. SELECTDISTINCT
YEAR(FechaPedido)* 10000 +MONTH(FechaPedido)* 100 +DAY(FechaPedido)ASCodigoFecha, FechaPedido,YEAR(FechaPedido)ASAño, DATEPART(QUARTER,FechaPedido)ASTrimestre, MONTH(FechaPedido)ASMes,dbo.fn_mes(MONTH(FechaPedido))ASNomMes, DAY(FechaPedido)ASDia, DATEPART(WEEKDAY,FechaPedido)ASDiaSemana, dbo.fn_diaSem(DATEPART(WEEKDAY,FechaPedido))ASNomDiaSemana FROMdbo.Orden
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
35
VAMOS AL DESTINO OLE BD y seleccionamos la tabla DimTiempo
En la opción asignaciones verificamos si la tabla origen TIEMPO está relacionada con la tabla
destino DimTiempo
–
PARA FINALIZAR ACEPTAR
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com
36
ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com