El área de tarjetas de crédito de un banco desea implementar un Data Mart. a) Se desea visualizar la información de créd
Views 159 Downloads 116 File size 84KB
El área de tarjetas de crédito de un banco desea implementar un Data Mart. a) Se desea visualizar la información de créditos concedidos y pagos hasta llegar a cada tarjeta. b) Las tarjetas pueden ser de dos tipos: “VISA” y “MASTERCARD”. También se clasifican por: Clásica, Oro y Platinium a) También se desea visualizar los créditos y pagos por cada vendedor y cada cliente. b) Cada cliente pertenece a un distrito, cada distrito a una provincia y cada provincia a un departamento. c) Cada vendedor pertenece a una agencia, y cada agencia pertenece a un distrito, cada distrito a una provincia y cada provincia a un departamento. Las métricas deben visualizarse como totalizados anuales, semestrales, trimestrales y mensuales.
Determinación de Requerimientos 1.- Matriz BUS Hecho
Medidas
Crédito
Monto de crédito Monto pagado
Tarjeta
Dimensiones Cliente Vendedor
Tiempo
x
x
x
x
x
x
x
x
2.- Star Net
3.- Modelo de Jerarquías Dimensión Tarjeta a.- Tarjetas_tipo * Tipo de tarjeta ** Tarjeta número (granularidad) b.- Tarjetas_clasificacion * Clasificación de tarjeta (clásica, oro, platinium) ** Tarjeta número Dimensión Cliente a.- Clientes por Ubigeo * Departamento ** Provincia *** Distrito **** nombre_cliente Dimensión Vendedor a.- Vendedores por Ubigeo * Departamento ** Provincia *** Distrito **** nombre_agencia ***** nombre_vendedor Dimensión Tiempo a.- Calendario * año ** semestre *** trimestre **** mes
Data Mart (Base de datos Dimensional) Esquema estrella Script Create database dm_creditos --Dimension Cliente Create table dim_cliente ( key_cliente int primary key identity,--Autoincremental codigo_oltp int not null, -- Codigo en el sistema origen(OLTP) nombre_cliente varchar(100) not null,-- Descripcion de la llave(OLTP) --Otros atributos(Jerarquias) distrito varchar(50) not null, provincia varchar(50) not null, departamento varchar(50) not null ) --Dimension Vendedor Create table dim_vendedor ( key_vendedor int primary key identity,--Autoincremental codigo_oltp int not null, -- Codigo en el sistema origen(OLTP) nombre_vendedor varchar(100) not null,-- Descripcion de la llave(OLTP) --Otros atributos(Jerarquias) nombre_agencia varchar(100) not null, distrito varchar(50) not null, provincia varchar(50) not null, departamento varchar(50) not null ) --Dimension Tarjeta Create table dim_tarjeta ( key_tarjeta int primary key identity, numero_tarjeta varchar(14) not null, --codigo_oltp tipo_tarjeta varchar(50) not null, clasificacion_tarjeta varchar(50) not null ) --Dimension Tiempo Create table dim_tiempo ( key_tiempo int primary key identity, --mes varchar(7) not null, -- 2005-1, 2005-2,....,2006-1 mes int not null, trimestre int not null, semestre int not null, año int not null ) --Tabla Hecho: Fact table Create table hecho_credito ( --key_credito int primary key identity key_cliente int references dim_cliente, key_vendedor int references dim_vendedor, key_tarjeta int references dim_tarjeta, key_tiempo int references dim_tiempo, monto_credito numeric(10,2) not null, monto_pagado numeric(10,2) not null, primary key(key_cliente,key_vendedor,key_tarjeta,key_tiempo) )
dim_tiempo key_tiempo mes trimestre semestre año
dim_cliente
hecho_credito
dim_vendedor key_vendedor
key_cliente
key_cliente
codigo_oltp
key_vendedor
nombre_cliente
key_tarjeta
nombre_agencia
distrito
key_tiempo
distrito
provincia
monto_credito
provincia
departamento
monto_pagado
departamento
dim_tarjeta key_tarjeta numero_tarjeta tipo_tarjeta clasificacion_tarjeta
codigo_oltp nombre_vendedor
Esquema copo de nieve Script Create database dm_creditos_copo_nieve --Dimension Ubiego create table dim_ubigeo ( key_ubigeo int primary key identity, codigo_oltp char(6) not null, distrito varchar(100) not null, provincia varchar(100) not null, departamento varchar(100) not null ) --Dimension Cliente Create table dim_cliente ( key_cliente int primary key identity,--Autoincremental codigo_oltp int not null, -- Codigo en el sistema origen(OLTP) nombre_cliente varchar(100) not null,-- Descripcion de la llave(OLTP) --Otros atributos(Jerarquias) key_ubigeo int references dim_ubigeo ) --Dimension Vendedor Create table dim_vendedor ( key_vendedor int primary key identity,--Autoincremental codigo_oltp int not null, -- Codigo en el sistema origen(OLTP) nombre_vendedor varchar(100) not null,-- Descripcion de la llave(OLTP) --Otros atributos(Jerarquias) nombre_agencia varchar(100) not null, key_ubigeo int references dim_ubigeo ) --Dimension Tarjeta Create table dim_tarjeta ( key_tarjeta int primary key identity, numero_tarjeta varchar(14) not null, --codigo_oltp tipo_tarjeta varchar(50) not null, clasificacion_tarjeta varchar(50) not null ) --Dimension Tiempo Create table dim_tiempo ( key_tiempo int primary key identity, --mes varchar(7) not null, -- 2005-1, 2005-2,....,2006-1 mes int not null, trimestre int not null, semestre int not null, año int not null ) --Tabla Hecho: Fact table Create table hecho_credito ( --key_credito int primary key identity key_cliente int references dim_cliente, key_vendedor int references dim_vendedor, key_tarjeta int references dim_tarjeta, key_tiempo int references dim_tiempo, monto_credito numeric(10,2) not null,
monto_pagado numeric(10,2) not null, primary key(key_cliente,key_vendedor,key_tarjeta,key_tiempo) )
dim_ubigeo
dim_cliente
key_ubigeo
key_cliente
codigo_oltp
codigo_oltp
distrito
nombre_cliente
provincia
key_ubigeo
departamento
dim_vendedor key_vendedor codigo_oltp nombre_vendedor nombre_agencia key_ubigeo
hecho_credito key_cliente
dim_tarjeta
key_vendedor
key_tarjeta
key_tarjeta
numero_tarjeta
key_tiempo
tipo_tarjeta
monto_credito
clasificacion_tarjeta
monto_pagado
dim_tiempo key_tiempo mes trimestre semestre año