Вы находитесь на странице: 1из 8

El rea de tarjetas de crdito de un banco desea implementar un Data Mart.

a) Se desea visualizar la informacin de crditos concedidos y pagos


hasta llegar a cada tarjeta.
b) Las tarjetas pueden ser de dos tipos: VISA y MASTERCARD.
Tambin se clasifican por: Clsica, Oro y Platinium
a) Tambin se desea visualizar los crditos 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 mtricas deben visualizarse como totalizados anuales, semestrales,
trimestrales y mensuales.

Determinacin de Requerimientos
1.- Matriz BUS
Hecho

Medidas

Crdito

Monto de
crdito
Monto
pagado

Tarjeta

Dimensiones
Cliente
Vendedor

Tiempo

2.- Star Net

3.- Modelo de Jerarquas


Dimensin Tarjeta
a.- Tarjetas_tipo
* Tipo de tarjeta
** Tarjeta nmero (granularidad)
b.- Tarjetas_clasificacion
* Clasificacin de tarjeta (clsica, oro, platinium)
** Tarjeta nmero
Dimensin Cliente
a.- Clientes por Ubigeo
* Departamento
** Provincia
*** Distrito
**** nombre_cliente
Dimensin Vendedor
a.- Vendedores por Ubigeo
* Departamento
** Provincia
*** Distrito
**** nombre_agencia
***** nombre_vendedor
Dimensin Tiempo
a.- Calendario
* ao
** 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,
ao 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
ao

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,
ao 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
ao

Вам также может понравиться