Está en la página 1de 7

DWH

Realizando un estudio más detallado de nuestro modelo transaccional


determinamos escoger solo estas dos tablas pagos y obligación, ya que estas
tienen identificaciones únicas las cuales no permite duplicidad en la información.

El id pago se mantiene y tiene fecha la cual cambia con el tiempo esto hace que
estas tablas generen histórico que reposa en el DWH. Los
datos son relativos a un periodo de tiempo y estos deben ser
integrados periódicamente, los mismos son almacenados como
fotos que corresponden a un periodo de tiempo.

Toda la información del data warehouse es requerida en algún


momento.

Es la característica básica de los datos en un depósito, es muy diferente de la


información encontrada en el ambiente operacional. En éstos, la información se
requiere al momento de acceder.
Eso quiere decir que, en el ambiente operacional, cuando se accede a una unidad
de información se espera que los valores requeridos se obtengan a partir del
momento de acceder.
Los datos históricos son de poco uso en el procesamiento operacional, pero estos
suelen usarse en la identificación y evaluación de datos.
Codigo SQL

-- -----------------------------------------------------
-- Table `Cliente`
-- -----------------------------------------------------

create table ADMONDW.CLIENTE(


ID_CLIENTE VARCHAR2(15) not null,
NOMBRE_CLI VARCHAR2(50) not null,
APELLIDO1_CLI VARCHAR2(50) not null,
APELLIDO2_CLI VARCHAR2(50) null,
CONSTRAINT PK_CLIENTE PRIMARY KEY ("ID_CLIENTE")
)TABLESPACE DATA_DW;
CREATE INDEX ADMONDW.INDEX_APELLIDO1_CLI ON ADMONDW.CLIENTE
("APELLIDO1_CLI");

-- -----------------------------------------------------
-- Table `Obligacion`
-- -----------------------------------------------------

create table ADMONDW.OBLIGACION (


ID_OBLIGACION VARCHAR2(15) not null,
FECHA_UPDATEOBLI DATE DEFAULT trunc(sysdate) not null,
PRODUCTO VARCHAR2(50) not null,
DIAS_MORA NUMBER DEFAULT 0 not null CHECK(DIAS_MORA >=0),
SALDO_CAPITAL NUMBER(10,2) NOT NULL,
INSTERESES_MORA NUMBER(6,2) not null,
FECHA_DESEMBOLSO DATE DEFAULT trunc(sysdate) not null,
CIUDAD_DESEMBOLSO VARCHAR2(15) CHECK (CIUDAD_DESEMBOLSO IN
('BOGOTA', 'MEDELLIN', 'CALI')),
CONSTRAINT PK_OBLIGACION PRIMARY KEY
("ID_OBLIGACION","FECHA_UPDATEOBLI")
)TABLESPACE DATA_DW;
CREATE INDEX ADMONDW.INDEX_PRODUCTO ON ADMONDW.OBLIGACION
("PRODUCTO");

-- -----------------------------------------------------
-- Table `relacion_cli_obli`
-- -----------------------------------------------------
create table ADMONDW.RELACION_CLI_OBLI(
ID_OBLIGACION VARCHAR2(15) not null,
FECHA_UPDATEOBLI DATE DEFAULT trunc(sysdate) not null,
ID_CLIENTE VARCHAR2(15) not null,
TIPO VARCHAR2(8) NOT NULL,
CONSTRAINT PK_RELACION_CLI_OBLI PRIMARY KEY
("ID_OBLIGACION","FECHA_UPDATEOBLI","ID_CLIENTE","TIPO"),
CONSTRAINT FK_CLIENTE FOREIGN KEY ("ID_CLIENTE") REFERENCES
ADMONDW.CLIENTE ("ID_CLIENTE") ON DELETE CASCADE,
CONSTRAINT FK_OBLIGACION FOREIGN KEY
("ID_OBLIGACION","FECHA_UPDATEOBLI") REFERENCES
ADMONDW.OBLIGACION ("ID_OBLIGACION","FECHA_UPDATEOBLI") ON
DELETE CASCADE
)TABLESPACE DATA_DW;
CREATE INDEX ADMONDW.INDEX_TIPO_CLI ON
ADMONDW.RELACION_CLI_OBLI ("TIPO");

-- -----------------------------------------------------
-- Table `TIPO_PAGO`
-- -----------------------------------------------------

CREATE TABLE ADMONDW.TIPO_PAGO(


ID_TIPO_PAGO VARCHAR2(15) NOT NULL,
NOM_TIPO_PAGO VARCHAR(60) NOT NULL,
CONSTRAINT PK_TIPO_PAGO PRIMARY KEY ("ID_TIPO_PAGO")
)TABLESPACE DATA_DW;

-- -----------------------------------------------------
-- Table `PAGOS`
-- -----------------------------------------------------

CREATE TABLE ADMONDW.PAGO(


ID_PAGO VARCHAR2(15) NOT NULL,
ID_TIPO_PAGO VARCHAR2(15) NOT NULL,
FECHA_UPDATEPAGO DATE DEFAULT trunc(sysdate) not null,
VALOR_PAGO NUMBER(10,2) NOT NULL,
ID_OBLIGACION VARCHAR2(15) NOT NULL,
FECHA_UPDATEOBLI DATE DEFAULT trunc(sysdate) not null,
CONSTRAINT PK_PAGO PRIMARY KEY ("ID_PAGO",
"ID_TIPO_PAGO","FECHA_UPDATEPAGO"),
CONSTRAINT FK_OBLIGACION2 FOREIGN KEY
("ID_OBLIGACION","FECHA_UPDATEOBLI") REFERENCES
ADMONDW.OBLIGACION("ID_OBLIGACION","FECHA_UPDATEOBLI") ON
DELETE CASCADE,
CONSTRAINT FK_TIPO_PAGO FOREIGN KEY ("ID_TIPO_PAGO")
REFERENCES ADMONDW.TIPO_PAGO("ID_TIPO_PAGO")ON DELETE
CASCADE
)TABLESPACE DATA_DW;

--select * from ADMONDW.tipo_pago

--select * from cliente


--select * from ADMONDW.pago
--select * from ADMONDW.obligacion
--select * from ADMONDW.relacion_cli_obli
insert into ADMONDW.pago values
('1','TP1','03/02/2018','400000','123456','03/02/2018')
insert into ADMONDW.pago values ('2','TP2','04/04/2019','200000','323212','')
insert into ADMONDW.pago values ('3','TP3','04/04/2019','300000','568705','')
insert into ADMONDW.pago values ('4','TP4','04/06/2018','400000','323212','')
insert into ADMONDW.pago values ('5','TP1','04/03/2018','345000','354877','')
insert into ADMONDW.pago values ('6','TP2','04/04/2019','12000','123457','')

-----------------------------------------
INSERT INTO ADMONDW.TIPO_PAGO VALUES ('TP1','EFECTIVO');
INSERT INTO ADMONDW.TIPO_PAGO VALUES ('TP2','TARJETA DEBITO');
INSERT INTO ADMONDW.TIPO_PAGO VALUES ('TP3','TARJETA CREDITO');
INSERT INTO ADMONDW.TIPO_PAGO VALUES ('TP4','CHEQUE');
COMMIT;
-----------------------------------------
INSERT INTO ADMONDW.OBLIGACION VALUES
('123456','22/02/2019','TARJETA CREDITO', 5,
20000,2000,'22/02/2019','BOGOTA');
INSERT INTO ADMONDW.OBLIGACION VALUES
('123456','22/03/2019','TARJETA CREDITO', 5,
20000,2000,'22/02/2019','BOGOTA');
INSERT INTO ADMONDW.OBLIGACION VALUES
('123456','22/04/2019','TARJETA CREDITO', 5,
20000,2000,'22/02/2019','BOGOTA');
INSERT INTO ADMONDW.OBLIGACION VALUES ('323212','09/03/2019','CRED
MICROCREDITO', 1, 100000,1000,'09/03/2019','BOGOTA');
INSERT INTO ADMONDW.OBLIGACION VALUES
('123457','12/06/2018','ROTATIVO', 20, 100000,1000,'12/06/2018','CALI');
INSERT INTO ADMONDW.OBLIGACION VALUES
('987562','22/02/2019','TARJETA CREDITO', 25, 48560, 2450, '22/02/2019' ,
'BOGOTA');
INSERT INTO ADMONDW.OBLIGACION VALUES
('568705','09/11/2017','TARJETA CREDITO', 3, 998000,1870,'09/11/2017',
'MEDELLIN');
INSERT INTO ADMONDW.OBLIGACION VALUES
('354877','09/11/2017','ROTATIVO', 25, 256000,4870,'12/09/2019',
'MEDELLIN');
COMMIT;

-----------------------------------------------

INSERT INTO SYSTEM.RELACION_CLI_OBLI VALUES ('123456', 'C52761148',


'DEUDOR');
INSERT INTO SYSTEM.RELACION_CLI_OBLI VALUES ('323212', 'C52761148',
'DEUDOR');
INSERT INTO SYSTEM.RELACION_CLI_OBLI VALUES ('123457', 'C52761148',
'CODEUDOR');
INSERT INTO SYSTEM.RELACION_CLI_OBLI VALUES ('123456', 'C52761147',
'CODEUDOR');
INSERT INTO SYSTEM.RELACION_CLI_OBLI VALUES ('987562', 'C95121501',
'DEUDOR');
INSERT INTO SYSTEM.RELACION_CLI_OBLI VALUES ('987562', 'C78945440',
'CODEUDOR');
INSERT INTO SYSTEM.RELACION_CLI_OBLI VALUES ('568705', 'C79455604',
'DEUDOR');
COMMIT;

SELECT * FROM ADMONDW.CLIENTE


INSERT INTO ADMONDW.CLIENTE VALUES ('C52761148', 'ANDREA MARIA',
'DIAZ','TORRES')
INSERT INTO ADMONDW.CLIENTE VALUES ('C52761147', 'NICOL SOFIA',
'RODRIGUEZ','DIAZ')
INSERT INTO ADMONDW.CLIENTE VALUES ('C45781234', 'sandra',
'perez','suarez')

INSERT INTO ADMONDW.CLIENTE VALUES ('C95121501', 'nikol', 'Lopez',


'Rodriguez')
INSERT INTO ADMONDW.CLIENTE VALUES ('C78945440', 'Angie', 'Castro',
'Rodriguez')
INSERT INTO ADMONDW.CLIENTE VALUES ('C79455604', 'Cristian', 'Ramos',
'Gomez')
COMMIT;

También podría gustarte