• 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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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 [email protected]@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',,'[email protected]''[email protected]',,'965885232''965885232'),),

(

('CL0002''CL0002',,'Rios Herrera''Rios Herrera',,'Pedro'Pedro

Hirving'

Hirving',,'45668899''45668899',,'DEP007''DEP007',,'PRV066''PRV066',,'DIS0659''DIS0659',,'[email protected]''[email protected]',,'989562541''989562541'),),

(

('CL0003''CL0003',,'Ramirez Toscano''Ramirez Toscano',,'Yanet'Yanet

Stefani'

Stefani',,'41258896''41258896',,'DEP015''DEP015',,'PRV127''PRV127',,'DIS1258''DIS1258',,'[email protected]''[email protected]',,'985697321''985697321'),),

(

('CL0004''CL0004',,'Sanchez Condezo''Sanchez Condezo',,'Jesus'Jesus

Miguel'

Miguel',,'47586323''47586323',,'DEP015''DEP015',,'PRV127''PRV127',,'DIS1257''DIS1257',,'[email protected]''[email protected]',,'956985321''956985321'),),

(

('CL0005''CL0005',,'Santos Palacios''Santos Palacios',,'Carlos'Carlos

Alberto'

Alberto',,'45632403''45632403',,'DEP015''DEP015',,'PRV127''PRV127',,'DIS1264''DIS1264',,'[email protected]''[email protected]',,'989801241''989801241');); --select * from Cliente

--select * from Cliente

(6)

ETL - Inteligencia de Negocio [email protected]

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','[email protected]','987845122'), ('EMP002','Florencio Ayala','Rey Sonia','CAR003','46235689','DEP007','PRV066','DIS0659','[email protected]','986532152' ), ('EMP003','Bello De la Cruz','Lesly Consuelo','CAR001','45895675','DEP007','PRV066','DIS0659','[email protected]','98658718 5'), ('EMP004','Caro Visitacion','Diana Soledad','CAR005','46235689','DEP015','PRV127','DIS1264','[email protected]','98652 4871'), ('EMP005','Breas Silva','Carlos Angelo','CAR006','46235689','DEP015','PRV127','DIS1264','[email protected]','987412548' );

--select * from Empleado

/*---*/

/*---PROVEEDOR---*/ insertintoProveedorvalues

('PVD001','Computer sac','20489745619','Evangelista Hijar','Hefner Euler','Bolivia','[email protected]','988957411'),

('PVD002','IDAT PERÚ sac','20455385219','Jacobo Eugenio','Maria Lucero','Colombia','[email protected]' ,'987654321'),

('PVD003','CISCO PERU sac','20859721219','Maguiña Santos','Williams Arquímides','Colombia','[email protected]','984125891'),

('PVD004','CESCA EIRL','20885621479','Rimac Rosales','Noemi Ofelia','Peru','[email protected]','984184591'),

('PVD005','INTERNATIONAL EIRL','20741236589','Saavedra Espinoza','Liz Sully','Brasil','[email protected]','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 [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

11

Seleccionamos la opción SQL Statement

(13)

ETL - Inteligencia de Negocio [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

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 [email protected]

16

SELECCIONAMOS LAS SIGUIENTES TABLAS COMO SE VISUALIZA - AGREGAR

(18)

ETL - Inteligencia de Negocio [email protected]

17

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

(19)

ETL - Inteligencia de Negocio [email protected]

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 [email protected]

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 [email protected]

20

Seleccionamos la opción MODO DE ACCESO A DATOS

 para generar la consulta.

(22)

ETL - Inteligencia de Negocio [email protected]

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 [email protected]

22

VISTA PREVIA…

(24)

ETL - Inteligencia de Negocio [email protected]

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 [email protected]

24

Seleccionamos la opción MODO DE ACCESO A DATOS

 para generar la consulta.

(26)

ETL - Inteligencia de Negocio [email protected]

25

AGREGAMOS LAS TABLAS

(27)

ETL - Inteligencia de Negocio [email protected]

26

LA CONSULTA PROCESADA

(28)

ETL - Inteligencia de Negocio [email protected]

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 [email protected]

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 [email protected]

29

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

(31)

ETL - Inteligencia de Negocio [email protected]

30

SELECIONAMOS LOS CAMPOS A TRABAJAR

(32)

ETL - Inteligencia de Negocio [email protected]

31

VISTA PREVIA…

VAMOS AL DESTINO OLE BD y seleccionamos la tabla DimUbigeo

(33)

-ETL - Inteligencia de Negocio [email protected]

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 [email protected]

33

Seleccionamos la opción MODO DE ACCESO A DATOS

 para generar la consulta.

(35)

ETL - Inteligencia de Negocio [email protected]

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 [email protected]

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 [email protected]

36

(38)
(39)

ETL - Inteligencia de Negocio [email protected]

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

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

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

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

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