• No se han encontrado resultados

Creacion de Data WareHouse

N/A
N/A
Protected

Academic year: 2021

Share "Creacion de Data WareHouse"

Copied!
42
0
0

Texto completo

(1)

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);

(2)

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);

(3)

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);

(4)

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);

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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…

(11)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

10

Se procede a realizar

Creamos una tarea Ejecutar SQL, como se detalla para luego elegimos y hacemos click

derecho-EDITAR

(12)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

11

Seleccionamos la opción SQL Statement

(13)

ETL - 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 es

Origen de OLE DB

 Copiar Columna

 Destino de OLE DB,

como se detalla e INGRESAMOS AL ORIGEN

(14)

ETL - 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.

(15)

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

(16)

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

(17)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

16

SELECCIONAMOS LAS SIGUIENTES TABLAS COMO SE VISUALIZA - AGREGAR

(18)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

17

 ADEMÁS PARA UNIR EL APELLIDO Y EL NOMBRE REALIZAMOS LO SIGUIENTE.

(19)

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

(20)

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 es

Origen de OLE DB

 Copiar Columna

 Destino de OLE DB,

como se detalla e INGRESAMOS AL ORIGEN

(21)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

20

Seleccionamos la opción MODO DE ACCESO A DATOS

 para generar la consulta.

(22)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

21

Seleccionamos los campos en merito a la tabla DimEmpleado como se ve a continuación

UNA VEZ SELCCIONADO PROCEDEMOS A UNIR EL APELLIDO Y NOMBRE DEL EMPLEADO COMO EL CODIGO QUE SE VISULIZA EN LA CONSULTA.

(23)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

22

VISTA PREVIA…

(24)

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 es

Origen de OLE DB

 Copiar Columna

 Destino de OLE DB,

como se detalla e INGRESAMOS AL ORIGEN.

(25)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

24

Seleccionamos la opción MODO DE ACCESO A DATOS

 para generar la consulta.

(26)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

25

AGREGAMOS LAS TABLAS

(27)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

26

LA CONSULTA PROCESADA

(28)

ETL - 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

(29)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

28

OBJETO GRABAR DIMUBIGEO

CONTINUAMOS E INGRESAMOS al objeto

Grabar DimUbigeo,

para crear los siguientes objetos que es

Origen de OLE DB

  Copiar Columna

  Destino de OLE DB,

como se detalla e INGRESAMOS AL ORIGEN.

(30)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

29

SELECCIONAMOS LAS TABLAS: Producto, Marca y Categoría DEACUERDO A LA TABLA DIMUBIGEO

(31)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

30

SELECIONAMOS LOS CAMPOS A TRABAJAR

(32)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

31

VISTA PREVIA…

VAMOS AL DESTINO OLE BD y seleccionamos la tabla DimUbigeo

(33)

-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 es

Origen de OLE DB

 Copiar Columna

 Destino de OLE DB,

como se detalla e INGRESAMOS AL ORIGEN.

(34)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

33

Seleccionamos la opción MODO DE ACCESO A DATOS

 para generar la consulta.

(35)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

34

AGREGAMOS LAS TABLAS

CONSULTA 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

(36)

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

(37)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

36

(38)
(39)

ETL - Inteligencia de Negocio ingenierosistemasjfsc1983@gmail.com

38

EJECUTAMOS EL PROCEDIMIENTO ALMACENADO EN SQL PARA DESPUÉS LO LLAMAMOS DESDE

MICROSOFT STUDIO

createprocedureUSP_Carga_Venta as BEGIN insertintoFactVentaOrden ( ECliente,EEmpleado,Ubigeo_SKey,EProducto,FechaId,Total ) SELECTdistinct ECliente,EEmpleado,Ubigeo_SKey,EProducto,FechaId,(dord.PrecioUnidad*dord.Cantidad)asT otal FROMETLLoad..Ordenord innerjoinETLoad..DetalleOrdendord onord.IdOrden=dord.IdOrden innerjoinDimClientedcondc.IdCliente=ord.IdCliente innerjoinDimEmpleadodeonde.IdEmpleado=ord.IdEmpleado innerjoinDimUbigeoduondu.IdDistrito=ord.IdDistrito innerjoinDimProductodpondp.IdProducto=dord.IdProducto innerjoinDimTiempodtiondti.Fecha=ord.FechaPedido WHERE (ord.FechaPedidoISNOTNULL) END go

(40)
(41)
(42)

Referencias

Documento similar

UNA vez definido el material de la cubierta se procede con la especificación del tipo de lámina, la cual se designa en función ai tipo de fijación entre esta y la estructura, para

Se establecen las bases reguladoras del programa de fomento y consolidación del empleo a través del Programa I, para las pequeñas empresas de nueva creación, y el Programa II,

Convocatoria de ayudas públicas en régimen de concurrencia competitiva para proyectos de carácter no productivo de la medida 19 "LEADER" en el marco del Programa de

Convocatoria de las bases reguladoras para la concesión de ayudas del Ayuntamiento de Benacazón destinadas a emprendedores/as para la creación de empresas de trabajo autónomo en

Como reflexiona sobre una teoría científica potente, la Física de Newton que limita las pretensiones comtitutivas de la metafísica tradicional, excepto unas v a s

nes de una misma comunidad político-religiosa y, cultural, con muy ligeras diferencias en su zona Central, la mediterránea.' Es cierto que en las regiones montañosas del

Se ha mencionado la codificación del color: los diferentes colores de ésta figura espiral representan un tipo de actividad diferente (cada actividad ocurre en un minuto determinado

Comunicación presentada en las V Jornadas Interdisciplinares: Estudios de Género en el Aula: Historia, Cultura visual e Historia del Arte, Málaga, España.. ¿Qué sería de