You are on page 1of 363

1

Parte I: Introduccin.
Parte II: Data Warehouse.
Parte III: Data Mining.
Business Intelligence

Parte II.
Data Warehouse
3
1. Introduccin a los almacenes de datos: motivacin
definicin y caractersticas.
2. Arquitectura de un sistema de almacn de datos.
3. Explotacin de un almacn de datos: herramientas OLAP.
4. Diseo de un almacn de datos.
5. Sistemas ROLAP y MOLAP.
6. Mantenimiento de un almacn de datos.
Almacenes de datos (Data Warehouse)
4
1. Introduccin a los almacenes de datos: motivacin
definicin y caractersticas.
2. Arquitectura de un sistema de almacn de datos.
3. Explotacin de un almacn de datos: herramientas OLAP
4. Diseo de un almacn de datos.
5. Sistemas ROLAP y MOLAP.
6. Mantenimiento de un almacn de datos.
Almacenes de datos (Data Warehouse)
5
I+D
Tecnologa de gestin
de datos
Evolucin de la
tecnologa de
los
computadores
Requisitos de
los usuarios
Evolucin del
software
Aplicacin
1. Introduccin a los almacenes de datos
6
Situacin actual: uso extendido de los SGBD
BD son el soporte del Sistema de Informacin de las
organizaciones
BD son diseadas para dar soporte (eficiente) a las funciones
bsicas de la organizacin (ventas, produccin, personal...)
SISTEMAS OPERACIONALES (OLTP On Line Transaction Processing)
las organizaciones almacenan grandes volmenes de datos con
informacin histrica
1970
2000
evolucin de la tecnologa de gestin de datos
- SGBD eficientes
- SGBD robustos
- lenguajes y herramientas de uso de alto nivel
Situacin actual de la tecnologa de gestin de datos.
1. Introduccin a los almacenes de datos
7
Una vez satisfecha la necesidad de tener un
soporte informtico para los procesos bsicos de
la organizacin (sistemas de informacin para la
gestin).
La organizaciones exigen nuevas prestaciones
de los sistemas de informacin (sistemas de
informacin para la toma de decisiones).
1. Introduccin a los almacenes de datos
8
Almacenes de datos (AD) (data warehouse)
disponer de Sistemas de
Informacin de apoyo a la
toma de decisiones*
disponer de bases de datos que permitan extraer conocimiento de
la informacin histrica almacenada en la organizacin
motivacin
anlisis de la
organizacin
previsiones de
evolucin
diseo de
estrategias
objetivos
1. Introduccin a los almacenes de datos
* DSS: Decision Support Systems
9
Tecnologa de almacenes
de datos
Evolucin de la
tecnologa de los
computadores
Requisitos de
los usuarios
Evolucin del
software
Aplicacin
1. Introduccin a los almacenes de datos
10
Avances tecnolgicos que han favorecido el desarrollo de la
tecnologa de almacenes de datos
Paralelismo
Hardware
Sistemas Operativos
Bases de Datos
Consultas
ndices
VLD (bases de datos muy grandes)
Arquitecturas de 64 bit
Tcnicas de indexacin
Sistemas abiertos
Herramientas y sistemas para DW
Herramientas de anlisis de usuario final
VLDB
1. Introduccin a los almacenes de datos
11
Almacn de datos
coleccin de datos diseada
para dar apoyo a los procesos
de toma de decisiones
definicin
1. Introduccin a los almacenes de datos
12
Almacn de datos
Base de Datos diseada con un objetivo de explotacin
distinto que el de las bases de datos de los sistemas
operacionales.
Sistema Operacional
(OLTP)
Sistema de Almacn
de Datos
(DW)
BD orientada al
proceso
BD orientada al
anlisis
1. Introduccin a los almacenes de datos
13
Almacn de datos
coleccin de datos diseada
para dar apoyo a los procesos
de toma de decisiones
orientada hacia
la informacin*
relevante de la
organizacin
integrada
variable en el
tiempo
no voltil
caractersticas
* subject oriented, not process oriented
1. Introduccin a los almacenes de datos
14
Sistemas Operacionales
Acciones
Prstamos
Seguros
Planes de
Inversin
Informacin
financiera
de clientes
Data Warehouse
Orientada hacia la
informacin relevante
de la organizacin
se disea para consultar eficientemente informacin
relativa a las actividades (ventas, compras,
produccin, ...) bsicas de la organizacin, no para
soportar los procesos que se realizan en ella
(gestin de pedidos, facturacin, etc).
1. Introduccin a los almacenes de datos
15
Entorno Operacional
Aplicacin
Cuentas de
Ahorro
Aplicacin
Cuentas
Corrientes
Aplicacin
Prstamos
Data Warehouse
Objeto de inters
=
Cliente
Integrada
integra datos recogidos de diferentes sistemas
operacionales de la organizacin (y/o fuentes externas).
1. Introduccin a los almacenes de datos
16
Los datos son almacenados como fotos (snapshots)
correspondientes a periodos de tiempo.
Datos Tiempo
01/97
02/97
03/97
Datos de Enero
Datos de Febrero
Datos de Marzo
Data
Warehouse
Variable en
el tiempo
los datos son relativos a un periodo de tiempo y deben
ser incrementados peridicamente.
Nota: El periodo de tiempo cubierto por un
DW varia entre 2 y 10 aos.
1. Introduccin a los almacenes de datos
17
SELECT
Carga
INSERT SELECT
UPDATE
DELETE
Bases de datos operacionales
Warehouse
No voltil
los datos almacenados no son actualizados, slo son
incrementados.
1. Introduccin a los almacenes de datos
18
El objetivo ltimo de un almacn de datos es
integrar datos corporativos, residentes en bases
de datos operacionales de la organizacin, en
un nico repositorio sobre el cual los usuarios
puedan realizar consultas o informes y hacer
anlisis de datos.
La tecnologa de almacenes de datos
integra las tcnicas de bases de datos y las
tcnicas de anlisis de datos.
1. Introduccin a los almacenes de datos
19
Almacenes de datos
ventajas para las
organizaciones
rentabilidad de
las inversiones
realizadas para
su creacin
aumento de la
competitividad
en el mercado
aumento de la
productividad de
los tcnicos de
direccin
1. Introduccin a los almacenes de datos
20
Almacenes de datos
problemas
infravaloracin de los
recursos necesarios
para la captura, carga
y almacenamiento de
los datos
incremento
continuo de los
requisitos de los
usuarios
privacidad de
los datos
infravaloracin del
esfuerzo necesario
para su diseo y
creacin
1. Introduccin a los almacenes de datos
21
Sistema Operacional (OLTP)
Almacn de datos (DW)
- almacena datos actuales - almacena datos histricos
- almacena datos de detalle - almacena datos de detalle
y datos agregados a distintos niveles
-bases de datos medianas - bases de datos grandes
- los datos son dinmicos (actualizables) - los datos son estticos
- los procesos (transacciones) son repetitivos - los procesos no son previsibles
- el nmero de transacciones es elevado - el nmero de transacciones es
bajo o medio
- tiempo de respuesta pequeo (segundos) - tiempo de respuesta variable
(segundos-horas)
- dedicado al procesamiento de transacciones - dedicado al anlisis de datos
- orientado a los procesos de la organizacin - orientado a la informacin relevante
- soporta decisiones diarias - soporta decisiones estratgicas
- sirve a muchos usuarios (administrativos) - sirve a tcnicos de direccin
1. Introduccin a los almacenes de datos
22
1. Introduccin a los almacenes de datos: motivacin
definicin y caractersticas.
2. Arquitectura de un sistema de almacn de datos.
3. Explotacin de un almacn de datos: herramientas OLAP.
4. Diseo de un almacn de datos.
5. Sistemas ROLAP y MOLAP.
6. Mantenimiento de un almacn de datos.
1. Introduccin a los almacenes de datos
23
2. Arquitectura de un sistema de almacn de datos (SAD)
Datos Op. 1
Datos Op. 2
Datos Op. 3
metadatos
datos de
detalle
datos
agregados
datos
agregados
AD
gestor de
carga
gestor
del AD
gestor
del AD
gestor de
consultas
copias
herramientas
de consultas
e informes
herramientas
de OLAP
herramientas
de Data Mining
SAD
rea de
almacenamiento
intermedio
herramientas
de EIS
24
Componentes:
datos operacionales: el origen de los datos puede ser: bases de
datos operacionales de la organizacin, bases de datos privadas, bases
de datos pblicas, etc.
gestor de carga: permite realizar las funciones de extraccin de
datos de las fuentes externas, transformacin (limpieza, consolidacin, ...)
y la carga del AD, utiliza un almacenamiento intermedio y realiza las
siguientes operaciones:
extraccin de los datos.
transformacin de los datos: limpieza, estandarizacin, etc.
carga inicial del almacn: ordenacin, agregaciones, etc.
refresco del almacn: operacin peridica que propaga los
cambios de las fuentes operacionales al almacn de datos
(herramientas* del fabricante o programas de la organizacin).
ETT (extraccin, transformacin y transporte)
ETL (extraccin, transformacin y carga (load))
2. Arquitectura de un sistema de almacn de datos (SAD)
25
Componentes:
metadatos: documentacin sobre los datos (origen, descripcin, nivel
de agregacin, almacenamiento, etc).
herramientas de consulta: herramientas para disear consultas e
informes, herramientas de desarrollo de aplicaciones de usuario final,
herramientas de anlisis de datos (OLAP), herramientas de minera de
datos (DATA MINING), herramientas dirigidas a ejecutivos (EIS).
(herramientas de diferentes fabricantes).
gestor (servidor) del AD: permite realizar todas las funciones de
definicin y mantenimiento del almacn de datos: definicin, agregacin de
datos, vistas, creacin de ndices, copias, etc. (herramienta del fabricante).
gestor de consultas: ejecucin de consultas. (herramienta del
fabricante).
2. Arquitectura de un sistema de almacn de datos (SAD)
26
tecnologa multidimensional (sistemas MOLAP): sistemas
de gestin de bases de datos construidos especficamente
para el anlisis de datos (estructuras de almacenamiento,
optimizadores de consultas, etc.). (Express de ORACLE)
tecnologa relacional (sistemas ROLAP): SGBD
relacionales con ciertas extensiones. Sobre estos sistemas
relacionales se acoplan herramientas de OLAP.
MicroStrategy: herramienta OLAP que trabaja sobre ACCESS,
ORACLE, SQL Server, ...
Discoverer: herramienta OLAP de ORACLE.
El servidor (gestor del almacn de datos) puede estar
construido usando:
2. Arquitectura de un sistema de almacn de datos (SAD)
27
Data mart
se definen para satisfacer las necesidades de un
departamento o seccin de la organizacin.
contiene menos informacin de detalle y mas
informacin agregada.
En la construccin de un data mart se siguen dos
aproximaciones:
definir previamente el almacn de datos de la organizacin
y posteriormente definir sobre l los data marts.
definir previamente los data marts de departamentos y
posteriormente integrarlos en un almacn de datos para la
organizacin
subconjunto de un almacn de datos
2. Arquitectura de un sistema de almacn de datos (SAD)
28
1. Introduccin a los almacenes de datos: motivacin
definicin y caractersticas.
2. Arquitectura de un sistema de almacn de datos.
3. Explotacin de un almacn de datos: herramientas OLAP
4. Diseo de un almacn de datos.
5. Sistemas ROLAP y MOLAP.
6. Mantenimiento de un almacn de datos.
Almacenes de datos (Data Warehouse)
29
Las herramientas (OLAP) de explotacin de los almacenes de
datos han adoptado un modelo multidimensional de datos.
Se ofrece al usuario una visin multidimensional
de los datos que son objeto de anlisis.
3. Explotacin de un almacn de datos: herramientas OLAP
30
EJEMPLO
Organizacin: Cadena de supermercados.

Actividad objeto de anlisis: ventas de productos.

Informacin registrada sobre las ventas: "ventas diarias de
productos en los supermercados de la cadena.

Ejemplo: "del producto Coca-Cola 33cl se han vendido en el almacn
Almacn nro.1 el da 12/01/1999, 50 unidades por un importe de 70.
Para hacer el anlisis de ventas no interesa la venta individual
(ticket) realizada a un cliente sino las ventas diarias de
productos en los distintos almacenes de la cadena.
3. Explotacin de un almacn de datos: herramientas OLAP
31
importe
unidades
Dimensiones que
caracterizan la actividad.
Producto
Tiempo
(da)
Almacn
3. Explotacin de un almacn de datos: herramientas OLAP
Actividad que es objeto de
anlisis con los indicadores
que interesa analizar
32
importe
unidades
La actividad de ventas se
registra a nivel diario para
cada producto y cada
almacn
Producto
Tiempo
(da)
Almacn
3. Explotacin de un almacn de datos: herramientas OLAP
Actividad que es objeto de
anlisis con los indicadores
que interesa analizar
33
importe
unidades
Tiempo
(da)
Almacn
Producto
Importe total de ventas por
almacn y producto
OLAP
3. Explotacin de un almacn de datos: herramientas OLAP
34
Agua Jabn Vino Leche
Almacn2
Almacn1
Almacn
Producto
2000000 1000000 3000000 2000000
1000000 1500000 8000000 2400000
Tabla multidimensional
OLAP
3. Explotacin de un almacn de datos: herramientas OLAP
35
Presentaciones del esquema multidimensional
en una herramienta OLAP:
-representacin en estrella
-representacin en cubo de datos
3. Explotacin de un almacn de datos: herramientas OLAP
36
importe
unidades
Dimensiones que
caracterizan la actividad.
Producto
Tiempo
(da)
Almacn
3. Explotacin de un almacn de datos: herramientas OLAP
Modelo en estrella:
-actividad (centro)
-dimensiones (puntas)
Actividad que es objeto de
anlisis con los indicadores
que interesa analizar
37
Almacn
Producto
Tiempo
Ventas
Almacn
Producto
Tiempo
Ventas
Cliente
4 dimensiones
3 dimensiones
Modelo en cubo de datos:
-actividad (celda)
-dimensiones (ejes)
3. Explotacin de un almacn de datos: herramientas OLAP
38
importe
unidades
Para enriquecer el anlisis las
dimensiones se completan con
atributos descriptores.
Producto
Tiempo
(da)
Almacn
OLAP
3. Explotacin de un almacn de datos: herramientas OLAP
39
importe
unidades
Departamento
Nro_producto
Categora
Marca
Tipo
Da
Mes
Da de la
semana
Nombre
Ciudad
Regin
Tipo
Ao
Descripcin
Actividad que es objeto de
anlisis con los indicadores
que interesa analizar
Dimensiones con atributos
descriptores.
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nro_almacn
40
Modelo multidimensional:
en un esquema multidimensional se representa una actividad
que es objeto de anlisis (hecho) y las dimensiones que
caracterizan la actividad (dimensiones).
la informacin relevante sobre el hecho se representa por un
conjunto de indicadores (medidas o atributos de hecho).
la informacin descriptiva de cada dimensin se representa por
un conjunto de atributos (atributos de dimensin).
3. Explotacin de un almacn de datos: herramientas OLAP
41
importe
unidades
Nombre
Ciudad
Regin
Tipo
Departamento
Nro_producto
Categora
Marca
Tipo
Descripcin
hecho
medidas
Da
Mes
Da de la
semana
Ao
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nro_almacn
dimensin
atributos
42
importe
unidades
Nro_almacn
Ciudad
Regin
Tipo
Departamento
Nro_producto
Categora
Marca
Tipo
Descripcin
Entre los atributos de una dimensin existe uno que hace la funcin
de identificador
Da
Mes
Da de la
semana
Ao
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
43
importe
unidades
Nro_almacn
Ciudad
Regin
Tipo
Departamento
Nro_producto
Categora
Marca
Tipo
Descripcin
Entre los atributos de una dimensin existe uno que hace la funcin
de identificador
Da
Mes
Da de la
semana
Ao
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Los valores (instancias)
de la dimensin Producto
son productos ofertados
por la cadena
Los valores (instancias)
de la dimensin Tiempo
son das del calendario
Los valores (instancias)
de la dimensin Almacn
son almacenes de la
cadena
Nombre
44
Entre los atributos de una dimensin existen jerarquas*
departamento
nro_almacn
ciudad regin
nro_almacn
tipo
da
mes ao
Producto
Almacn
Tiempo
nro. producto
categora
trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
departamento
nro. producto
tipo
* Jerarquas basadas generalmente en dependencias funcionales entre
los atributos de la dimensin.
45
importe
unidades
Nro_almacn
Ciudad
Regin
Tipo
Departamento
Nro_producto
Categora
Marca
Tipo
Descripcin
Da
Mes
Da de la
semana
Ao
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
46
Los atributos de las dimensiones van a servir para:
expresar condiciones que restringen el subconjunto de datos del
AD que se desea consultar
definir los parmetros de la consulta: nivel de detalle (o
agregacin) al que se desean presentar los datos seleccionados
aadir informacin descriptiva a los elementos de la dimensin
las jerarquas definidas entre los atributos de las dimensiones
son una gua para "navegar" por los datos seleccionados,
cambiando el nivel de agregacin con el que son presentados
3. Explotacin de un almacn de datos: herramientas OLAP
47
importe
unidades
Nro_almacn
Ciudad
Regin
Tipo
Departamento
Nro_producto
Categora
Marca
Tipo
Descripcin
Da
Mes
Da de la
semana
Ao
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
Importe total de ventas por
almacn, para almacenes de
tipo "gran superficie", indicando
el nombre completo del
almacn.
atributo de
seleccin
atributo
descriptivo
atributo de
agrupacin
48
Consulta de un AD con una herramienta OLAP
Las herramientas de OLAP presentan al usuario un visin
multidimensional de los datos (esquema multidimensional) para
cada actividad que es objeto de anlisis.
El usuario formula consultas a la herramienta OLAP
seleccionando atributos de este esquema multidimensional sin
conocer la estructura interna (esquema de base de datos) del
almacn de datos.
La herramienta OLAP genera la correspondiente consulta y la
enva al gestor de consultas del sistema (sentencia SELECT en
un sistema ROLAP).
3. Explotacin de un almacn de datos: herramientas OLAP
49
importe
unidades
Departamento
Nro_producto
Categora
Marca
Tipo
Da
Mes
Da de la
semana
Nro_almacn
Ciudad
Regin
Tipo
Ao
Importe total de ventas por
ao, regin y departamento
OLAP
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
50
i
n
f
o
r
m
e

Importe de ventas
SELECT ...........
departamento regin ao importe
OLAP
ao
regin
departamento
3. Explotacin de un almacn de datos: herramientas OLAP
ROLAP
51
fecha
nro_producto
nro_almacn
importe
unidades
Ventas
nro_almacn
nombre
direccin
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
nro_producto
descripcin
marca
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Almacn
Producto
fecha
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
3. Explotacin de un almacn de datos: herramientas OLAP
52
Una consulta a un almacn de datos consiste generalmente
en la obtencin de medidas sobre los hechos parametrizados
por atributos de las dimensiones y restringidos por
condiciones impuestas sobre las dimensiones
Importe total de las ventas durante este ao de los productos
del departamento Bebidas, por trimestre y por categora?.
Restricciones: productos del departamento Bebidas, ventas durante
este ao
medida
hecho
Parmetros de la consulta: por categora de producto y por
trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
53
2002
Bebidas
importe
unidades
Departamento
Nro_producto
Categora
Marca
Tipo
Da
Mes
Da de la
semana
Nro_almacn
Ciudad
Regin
Tipo
Ao
Importe total de ventas en
este ao, del departamento
de Bebidas, por categora y
trimestre
OLAP
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
54
SELECT ...........
trimestre categora
importe
OLAP
3. Explotacin de un almacn de datos: herramientas OLAP
ROLAP
55
fecha
nro_producto
nro_almacn
importe
unidades
Ventas
nro_almacn
nombre
direccin
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
nro_producto
descripcin
marca
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Almacn
Producto
fecha
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
3. Explotacin de un almacn de datos: herramientas OLAP
56
SELECT P.categora, T.trimestre, SUM (V.importe)
FROM Ventas V, Tiempo T, Producto P
WHERE V.nro_producto = P.nro_producto AND
V.fecha = T.fecha AND
P.departamento= Bebidas AND
T.ao= year (TODAY)
GROUP BY T.trimestre, P.categora
medida
seleccin de datos
de la tabla de
hechos
restringidos por
condiciones sobre
las tablas de
dimensin
agregacin sobre
Almacn
agrupacin por
Tiempo y Producto
tabla de hechos
3. Explotacin de un almacn de datos: herramientas OLAP
parmetros
57
SELECT D
1
.C
1
, ..., D
n
.C
n
, Agg
1
(F.A
1
),..., Agg
n
(F.A
n
)
FROM Hechos F, Dimensin1 D
1
,...Dimensin D
n
WHERE
JOIN_cond (F,D
1
) AND
...
JOIN_cond (F,D
n
) AND
condicin_seleccin
GROUP BY D
1
.C
1
,..., D
n
.C
n

3. Explotacin de un almacn de datos: herramientas OLAP
58
Presentacin tabular
(relacional) de los
datos seleccionados
Categora Trimestre Ventas
T4
T2
T3
T1
T3
2000000
3000000
1500000
2400000
8000000
T1
1000000
T4
T2
1000000
Refrescos
Refrescos
Refrescos
Refrescos
Zumos
Zumos
Zumos
Zumos
2000000
Se asumen dos categoras en
el departamento de Bebidas:
Refrescos y Zumos.
3. Explotacin de un almacn de datos: herramientas OLAP
59
T4 T3 T2 T1
Zumos
Refrescos
Categora
Trimestre
Presentacin matricial
(multidimensional) de los
datos seleccionados
Los parmetros de la consulta (por trimestre y por categora)
determinan los criterios de agrupacin de los datos seleccionados
("ventas de productos del ao actual", "del departamento de
Bebidas"). La agrupacin se realiza sobre dos atributos de dos
dimensiones: Producto (categora), Tiempo (trimestre).
2000000 1000000 3000000 2000000
1000000 1500000 8000000 2400000
3. Explotacin de un almacn de datos: herramientas OLAP
60
El carcter agregado de las consultas en el anlisis de
datos, aconseja la definicin de nuevos operadores que
faciliten la agregacin (consolidacin) y la disgregacin
(divisin) de los datos:
Agregacin (roll): permite sustituir (eliminndolo o
utilizando uno de mayor granularidad) un criterio de
agrupacin utilizado en el anlisis. Se agregan los
grupos de la consulta actual.
Disgregacin (drill): permite sustituir (aadiendo uno
nuevo o utilizando uno de menor granularidad) un
criterio de agrupacin utilizado en el anlisis. Se
disgregan los grupos de la consulta actual.

3. Explotacin de un almacn de datos: herramientas OLAP
61
Las operaciones de agregacin (ROLL) y disgregacin
(DRILL) se pueden hacer sobre:
atributos de una dimensin sobre los que se ha
definido una jerarqua: DRILL-DOWN, ROLL-UP
departamento categora - producto (Producto)
ao - trimestre mes - da (Tiempo)
sobre dimensiones independientes: DRILL-ACROSS,
ROLL-ACROSS
Producto Almacn -Tiempo
3. Explotacin de un almacn de datos: herramientas OLAP
62
2002
Bebidas
importe
unidades
Departamento
Nro_producto
Categora
Marca
Tipo
Da
Mes
Da de la
semana
Nro_almacn
Ciudad
Regin
Tipo
Ao
Importe total de ventas en este
ao, del departamento de
Bebidas, por categora y mes
OLAP
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
63
trimestre categora
importe
OLAP
la operacin de DRILL
se realiza sobre el
informe original !
3. Explotacin de un almacn de datos: herramientas OLAP
da
mes
ao
trimestre
R
O
L
L
-
U
P

D
R
I
L
L
-
D
O
W
N

64
Categora
Ventas Mes
500000
Refrescos
Enero
Categora Trimestre Ventas
T4
T2
T3
T1
T3
2000000
3000000
1500000
2400000
8000000
T1
1000000
T4
T2
1000000
Refrescos
Refrescos
Refrescos
Refrescos
Zumos
Zumos
Zumos
Zumos
2000000
Febrero
Refrescos
Refrescos Marzo
1000000
500000
Cada fila (categora-trimestre) de la
consulta original se disgrega en tres
nuevas filas (categora-mes).
3. Explotacin de un almacn de datos: herramientas OLAP
65
drill-down
SELECT P.categora, T.mes, SUM (V.importe)
FROM Ventas V, Tiempo T, Producto P
WHERE V.nro_producto = P.nro_producto AND
V.fecha = T.fecha AND
P.departamento= Bebidas AND
T.ao= year (TODAY)
GROUP BY T.mes, P.categora
medida
seleccin de
datos de la tabla
de hechos
restringidos por
condiciones
sobre las tablas
de dimensin
agrupacin por
Tiempo y Producto
tabla de hechos
3. Explotacin de un almacn de datos: herramientas OLAP
Sustitucin de nivel en la jerarqua de
la dimensin Tiempo por un nivel de
granularidad ms fina
66
Si se desea introducir la dimensin Almacn en
el anlisis anterior e incluir un nuevo criterio de
agrupacin sobre la ciudad del almacn:
Importe total de las ventas durante este ao de los
productos del departamento Bebidas, por trimestre,
por categoras y por ciudad del almacn?.
Restricciones: productos del departamento Bebidas, ventas durante
este ao
Parmetros de la consulta: por categora de producto, por
trimestre y por ciudad del almacn.
3. Explotacin de un almacn de datos: herramientas OLAP
67
2002
Bebidas
importe
unidades
Departamento
Nro_producto
Categora
Marca
Tipo
Da
Mes
Da de la
semana
Nro_almacn
Ciudad
Regin
Tipo
Ao
Importe total de ventas en
este ao, del departamento
de Bebidas, por categora,
trimestre y ciudad
OLAP
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
68
trimestre categora
importe
OLAP
la operacin de
DRILL se realiza sobre
el informe original !
3. Explotacin de un almacn de datos: herramientas OLAP
69
Categora Trimestre Ventas Ciudad
T2
T1
300000
T2
700000
Refrescos
T1
Valencia
Categora Trimestre Ventas
T4
T2
T3
T1
T3
2000000
3000000
1500000
2400000
8000000
T1
1000000
T4
T2
1000000
Refrescos
Refrescos
Refrescos
Refrescos
Zumos
Zumos
Zumos
Zumos
2000000
Len
Refrescos
Refrescos
Refrescos
Valencia
Len
1000000
1000000
* Se asumen dos ciudades: Valencia y Len.
Cada fila (categora-trimestre) de la
consulta original se disgrega en dos
nuevas filas (categora-trimestre-
ciudad) para las ciudades de Len y
Valencia.
3. Explotacin de un almacn de datos: herramientas OLAP
70
drill-across
SELECT P.categora, T.trimestre, A.ciudad, SUM (V.importe)
FROM Ventas V, Tiempo T, Producto P, Almacn A
WHERE V.nro_producto = P.nro_producto AND
V.fecha = T.fecha AND
V.nro_almacn=A.nro_almacn AND
P.departamento= Bebidas AND
T.ao= year (TODAY)
GROUP BY T.trimestre, P.categora, A.ciudad
medida
seleccin de
datos de la tabla
de hechos
restringidos por
condiciones
sobre las tablas
de dimensin
agrupacin por
Tiempo, Producto y
Almacn
tabla de hechos
3. Explotacin de un almacn de datos: herramientas OLAP
Inclusin de una nueva dimensin en
los criterios de agrupacin
71
T1 T2
T3 T4
Z
u
m
o
s

1000000
300000
300000
500000
100000
200000
500000
2000000
Presentacin matricial de
los datos seleccionados.
3. Explotacin de un almacn de datos: herramientas OLAP
72
Si se desea eliminar el criterio de agrupacin sobre
la dimensin Tiempo en la consulta original:
Importe total de las ventas durante este ao de los
productos del departamento Bebidas, por categoras?.
3. Explotacin de un almacn de datos: herramientas OLAP
73
2002
Bebidas
importe
unidades
Departamento
Nro_producto
Categora
Marca
Tipo
Da
Mes
Da de la
semana
Nro_almacn
Ciudad
Regin
Tipo
Ao
Importe total de ventas en
este ao, del departamento
de Bebidas, por categoras
OLAP
Trimestre
3. Explotacin de un almacn de datos: herramientas OLAP
Nombre
74
OLAP
trimestre
categora importe
la operacin de ROLL
se realiza sobre el
informe original !
3. Explotacin de un almacn de datos: herramientas OLAP
75
Categora Ventas
Refrescos 8000000
Zumos
12900000
Categora Trimestre Ventas
T4
T2
T3
T1
T3
2000000
3000000
1500000
2400000
8000000
T1
1000000
T4
T2
1000000
Refrescos
Refrescos
Refrescos
Refrescos
Zumos
Zumos
Zumos
Zumos
2000000
3. Explotacin de un almacn de datos: herramientas OLAP
76
SELECT P.categora, T.trimestre, SUM (V.importe)
FROM Ventas V, Tiempo T, Producto P
WHERE V.nro_producto = P.nro_producto AND
V.fecha = T.fecha AND
P.departamento= Bebidas AND
T.ao= year (TODAY)
GROUP BY T.trimestre, P.categora
medida
seleccin de
datos de la tabla
de hechos
restringidos por
condiciones
sobre las tablas
de dimensin
agregacin sobre
Almacn y Tiempo
agrupacin por
Producto
tabla de hechos
roll-across
3. Explotacin de un almacn de datos: herramientas OLAP
Eliminacin de una dimensin
en los criterios de agrupacin
77
Otras operaciones de OLAP:
SLICE: elimina una dimensin de la consulta
actual, fijando un valor para ella.
DICE: selecciona un subconjunto de datos de
la consulta actual.
PIVOT: reorientacin de las dimensiones en la
consulta actual.
3. Explotacin de un almacn de datos: herramientas OLAP
78
Ventas
Electrnica
Juguetes
Ropa
Cosmticos
Q
1

5,2
1,9
2,3
1,1
Electnica
Juguetes
Ropa
Cosmticos
Q
2

8,9
0,75
4,6
1,5
Productos
Tienda1 Tienda2
5,6
1,4
2,6
1,1
7,2
0,4
4,6
0,5
Ventas
Electrnica
Juguetes
Ropa
Cosmticos
T
i
e
n
d
a
1

5,2
1,9
2,3
1,1
Electrnica
Juguetes
Ropa
Cosmticos
T
i
e
n
d
a
2

5,6
1,4
2,6
1,1
Productos Q1 Q2
8,9
0,75
4,6
1,5
7,2
0,4
4,6
0,5
PIVOT
3. Explotacin de un almacn de datos: herramientas OLAP
79
Ventas
Electrnica
Juguetes
Ropa
Cosmticos
Q
1

5,2
1,9
2,3
1,1
Electrnica
Juguetes
Ropa
Cosmticos
Q
2

8,9
0,75
4,6
1,5
Productos
Tienda1 Tienda2
5,6
1,4
2,6
1,1
7,2
0,4
4,6
0,5
Ventas
Electrnica
Juguetes
Q
1

5,2
1,9
Productos
Tienda1
Electrnica
Juguetes
Q
2

8,9
0,75
DICE
3. Explotacin de un almacn de datos: herramientas OLAP
Tienda3
6,1
4,2
2,6
1,8
6,2
0,5
3,6
0,7
Tienda2
5,6
1,4
7,2
0,4
80
Ventas
Electrnica
Juguetes
Ropa
Cosmticos
Q
1

5,2
1,9
2,3
1,1
Electrnica
Juguetes
Ropa
Cosmticos
Q
2

8,9
0,75
4,6
1,5
Productos
Tienda1 Tienda2
5,6
1,4
2,6
1,1
7,2
0,4
4,6
0,5
Ventas
5,2
Q
1

5,6
Tienda1 Tienda2
8,9
Q
2

7,2
SLICE
3. Explotacin de un almacn de datos: herramientas OLAP
Productos = 'Electrnica'
81
Las herramientas de OLAP se caracterizan* por:
ofrecer una visin multidimensional de los datos.
no imponer restricciones sobre el nmero de dimensiones.
ofrecer simetra para las dimensiones.
permitir definir jerarquas sobre las dimensiones
ofrecer operadores de manipulacin: drill-down, roll-up.
permitir expresar condiciones sobre las dimensiones y criterios
de agrupacin de los datos.
ser transparentes al tipo de tecnologa que soporta el almacn
de datos (ROLAP o MOLAP).

*Subconjunto de las 12 reglas propuestas por E.F. Codd.
3. Explotacin de un almacn de datos: herramientas OLAP
82
1. Introduccin a los almacenes de datos: motivacin
definicin y caractersticas.
2. Arquitectura de un sistema de almacn de datos.
3. Explotacin de un almacn de datos: herramientas OLAP.
4. Diseo de un almacn de datos.
5. Sistemas ROLAP y MOLAP.
6. Mantenimiento de un almacn de datos.
Almacenes de datos (Data Warehouse)
83
4. Diseo de un almacn de datos
La visin multidimensional seguida por las
herramientas de explotacin de almacenes de
datos (OLAP) ha inspirado los modelos y
metodologas de diseo de este tipo de sistemas.
En la literatura se habla de Bases de Datos
Multidimensionales y de Diseo
Multidimensional
84
Modelado multidimensional:
en un esquema multidimensional se representa una
actividad que es objeto de anlisis (hecho) y las
dimensiones que caracterizan la actividad
(dimensiones).
la informacin relevante sobre el hecho se
representa por un conjunto de indicadores (medidas o
atributos de hecho).
la informacin descriptiva de cada dimensin se
representa por un conjunto de atributos (atributos de
dimensin).
4. Diseo de un almacn de datos
85
Modelado multidimensional:
el modelado multidimensional se puede aplicar
utilizando distintos modelos de datos (conceptuales o
lgicos).
la representacin grfica del esquema
multidimensional depender del modelo de datos
utilizado (relacional, ER, UML, OO, ...)
4. Diseo de un almacn de datos
86
Metodologa de diseo de almacenes de
datos:
Cualquier metodologa de diseo de almacenes de
datos debe seguir las fases clsicas del diseo de
bases de datos:
Anlisis
Diseo
Implementacin
4. Diseo de un almacn de datos
87
Diseo conceptual
Especificacin de
transacciones
Esquema conceptual
Universo de
discurso
Recogida y anlisis de
requisitos
Requisitos de proceso Requisitos de informacin
Esttica Dinmica
Metodologa de diseo de bases de datos:
4. Diseo de un almacn de datos
88
Diseo fsico
Esquema interno
Diseo lgico
Esquema lgico
E
s
p
e
c

f
i
c
o

p
a
r
a


c
a
d
a

S
G
B
D

SGBD disponible
Especificacin de
transacciones
Implementacin de
transacciones
Implementacin
Creacin BD
Especificacin de
transacciones
Esquema conceptual
I
n
d
e
p
e
n
d
i
e
n
t
e


d
e
l

S
G
B
D

Dinmica
Esttica
Diseo conceptual
4. Diseo de un almacn de datos
89
Diseo fsico
Esquema interno
Diseo lgico
Esquema lgico
(ROLAP, MOLAP)
Implementacin
Creacin del AD
Esquema conceptual
multidimensional
Diseo conceptual
Recogida y anlisis de
requisitos
Requisitos de consulta
Metodologa de diseo de almacenes de datos:
M
o
d
e
l
a
d
o

m
u
l
t
i
d
i
m
e
n
s
i
o
n
a
l

ER, UML, ...
4. Diseo de un almacn de datos
90
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
Anlisis
Descripcin del
sistema de
informacin de la
organizacin (OLTP)
Requisitos de
usuarios del AD
Esquema conceptual
Entidad-Relacin
UML

4. Diseo de un almacn de datos
91
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
Diseo
conceptual
Modelado
multidimensional
Esquemas
multidimensionales
(ER, UML, ..)
4. Diseo de un almacn de datos
92
Modelado multidimensional:
Estilo de modelado que se centra en la representacin
de la actividad objeto de inters (hecho) y en las
dimensiones que la caracterizan (dimensiones).
Los modelos conceptuales clsicos (ER, UML,...)
pueden usarse* con este enfoque o estilo
multidimensional.
* Existen muchas propuestas de extensin de estos modelos para
adaptarse mejor a la filosofa multidimensional.

4. Diseo de un almacn de datos
93
Modelado multidimensional con ER.
4. Diseo de un almacn de datos
Producto
N
Ventas
1
N
Tiempo
1
unidades
Almacn
N
1
importe
94
Modelado multidimensional con ER.
4. Diseo de un almacn de datos
N
Ventas
N
unidades
N
importe
da
1
mes
trimestre
ao
Tiempo
producto
categora
departamento
1
Producto
ciudad
almacn
1
regin
Almacn
95
Modelado multidimensional con UML.
4. Diseo de un almacn de datos
Producto


Ventas


importe
unidades
Tiempo


1
Almacn


*
1
1
*
*
1 1..1
*

0..
*
96
Modelado multidimensional con UML.
4. Diseo de un almacn de datos
Ventas


importe
unidades
*
*
*
da

1
mes

trimestre

ao

Tiempo
1
producto

categora

departamento

1
Producto
1
ciudad

almacn

1
regin
Almacn
97
Esquema multidimensional en UML.
4. Diseo de un almacn de datos
Hecho


medida1
medida2
...
* *
*
1
1
1
D
1
D
2
D
3
D
n
*
1
98
Esquema multidimensional en UML.
4. Diseo de un almacn de datos
Hecho


medida1
medida2
...
* *
*
1
1
1..*
D
1
D
2
D
3
D
n
*
1
Algunos modelos
multidimensionales aceptan
relaciones M:M entre el Hecho
y algunas dimensiones.
99
Estructura de las dimensiones.
Ventas


importe
unidades
*
*
*
1
Almacn
1
D
1
D
almacn
nro_almacn
nombre
M2
tipo
ciudad
nombre
habitantes
regin
nombre
habitantes
pas
nombre
zona_ventas
nro_zona
nombre
1..1
1..1
1..1
1..1
1..*
1..*
1..*
1..*
4. Diseo de un almacn de datos
100
jerarqua 1
Estructura de las dimensiones.
Nivel
0
id_nivel
Atr
1
Atr
2
...
Nivel
11
id_nivel
...
....

id_nivel
...
Nivel
1n
id_nivel
...
Nivel
21
id_nivel
...
....

id_nivel
...
atributos de
nivel
Una dimensin es un grafo
dirigido, acclico con un
nivel raz (Nivel
0
).
Una jerarqua es un camino
en el grafo que parte del
nivel raz.
jerarqua 2
Nivel raz
(atributo identificador
de la dimensin)
101
Nivel
i
id_nivel
Atr
1
Atr
2
...
Nivel de
dimensin
atributos de
nivel
En un nivel de dimensin:
atributos analticos: sirven para establecer condiciones y
criterios de agregacin
atributo identificador: jerarquas de agregacin
atributos de seleccin: definicin de condiciones
atributos descriptivos: completar los informes
Almacn

nro_almacn
tipo

nombre
M2

...
Nivel de
dimensin
atributo de
agregacin
atributo de
seleccin
atributo
descriptivo
4. Diseo de un almacn de datos
102
tipo=gran superficie
Importe total de ventas por
almacn, para almacenes de
tipo "gran superficie", indicando
el nombre completo del
almacn.
Almacn

nro_almacn
tipo

nombre

...
Nivel de
dimensin
atributo de
agregacin
atributo de
seleccin
atributo
descriptivo
4. Diseo de un almacn de datos
Ventas


importe
unidades
1..1
0..*
SELECT nro_almacn, nombre, SUM (importe)
FROM Ventas V, Almacn A
WHERE V.nro_almacn=A.nro_almacn AND tipo=gran superficie
GROUP BY nro_almacn
nro_almacn
tipo

nombre

...
nro_almacn
.....

importe
unidades
Almacn
Ventas
Esquema
Relacional
Esquema
UML
103
Atributos analticos:
- evitar codificaciones
- dominios discretos
- utilizar rangos de valores en lugar de valores absolutos

Atributos descriptivos: sirven para completar los informes con
informacin textual:
- de cualquier tipo
(descripcin completa de un producto, nombre de un almacn, direccin de un
almacn...)
4. Diseo de un almacn de datos
104
Estructura de las dimensiones.
Nivel
0
id_nivel
Atr
1
Atr
2
...
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
Nivel
1n
id_nivel
...
Nivel
21
id_nivel
...
....

id_nivel
...
Nivel raz
atributos de
nivel
Los arcos de una jerarqua
representan asociaciones
binarias de cualquier
multiplicidad
Nota: Las jerarquas en una
dimensin (grafo dirigido) se
representan por la numeracin
de los niveles
105
Estructura de las dimensiones.
Nivel
0
id_nivel
Atr
1
Atr
2
...
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
Nivel
1n
id_nivel
...
Nivel
22
id_nivel
...
....

id_nivel
...
Nivel raz
atributos de
nivel
1..1
1..*
multiplicidad mas frecuente:
relacin jerrquica
106
Estructura de las dimensiones.
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
1..
completa
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
..1
estricta
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
1..
balanceada
107
Estructura de las dimensiones.
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
0..
no-completa
Categora Departamento
Coac
Vino
Servilletas
Pauelos
Bisutera

Bebidas
Papel

108
Estructura de las dimensiones.
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
..*
no-estricta
Categora Departamento
Coac
Vino
Servilletas
Pauelos


Bebidas
Papel
Droguera

109
Estructura de las dimensiones.
Nivel
i
id_nivel
...
Nivel
i+1
id_nivel
...
0 ..
no-balanceada
Categora Departamento
Coac
Vino
Servilletas
Pauelos


Bebidas
Papel
Varios

110
Esquemas multidimensionales que
comparten una dimensin a distinto nivel.
4. Diseo de un almacn de datos
Hecho1


medida1
medida2
...
*
*
1
1
D
1
D
2
Hecho2


medida1
medida2
...
D
1
D
2
D
3
Nivel
0
id_nivel
...
Nivel
j
id_nivel
...
Nivel
1n
id_nivel
...
1
1
1
*
*
*
*
*
1
1
111
4. Diseo de un almacn de datos
Ventas


unidades
importe
...
*
*
1
1
Suministros


unidades
importe
...
da

...
mes
...
ao

1
*
*
*
1
1
1..1
1..1
*
1
1..*
1..*
112
El desarrollo de la tecnologa de almacenes de
datos se ha caracterizado por:
- un temprano desarrollo industrial provocado por
las demandas de los usuarios.
- el uso de metodologas de diseo centradas
principalmente en los niveles lgico e interno. (la
atencin se ha centrado en mejorar la eficiencia en la ejecucin de
consultas)
Metodologa de diseo basada en el modelo
relacional: Modelo multidimensional de Kimball
4. Diseo de un almacn de datos
113
Diseo fsico
Esquema interno
Diseo lgico especfico
Esquema lgico
(ROLAP, MOLAP)
Implementacin
Creacin del AD
Esquema relacional
multidimensional
Diseo conceptual
Recogida y anlisis de
requisitos
Requisitos de consulta
Metodologa de diseo de almacenes de datos basada en el
MR (modelo relacional):
M
o
d
e
l
a
d
o

m
u
l
t
i
d
i
m
e
n
s
i
o
n
a
l

MR
4. Diseo de un almacn de datos
114
Mtodo de diseo de almacenes de
datos basado en el modelo relacional:
modelo multidimensional de Kimball.
(nivel lgico)
esquema relacional compuesto de:
- 1 tabla de hechos
- n tablas de dimensiones
diseo
multidimensional
de Kimball
Esquema
multidimensional
(esquema en estrella)
tabla de hechos: actividad que es objeto del anlisis
tablas de dimensiones: dimensiones del anlisis
4. Diseo de un almacn de datos
115
esquema estrella
(star schema)
tabla de
hechos
tabla de
dimensin
tabla de
dimensin
tabla de
dimensin
tabla de
dimensin
tabla de
dimensin
tabla de
dimensin
CAj
CAj
CAj
CAj
CAj
CAj
medidas
visin multidimensional de los datos


l
a

t
a
b
l
a

d
e

h
e
c
h
o
s

s
e

r
e
l
a
c
i
o
n
a

c
o
n

l
a

t
a
b
l
a
s

d
e

d
i
m
e
n
s
i
o
n
e
s

a

t
r
a
v

s

d
e

r
e
l
a
c
i
o
n
e
s

1
:
M

!

4. Diseo de un almacn de datos
116
esquema copo de nieve
(snowflake schema)
tabla de
hechos
tabla de
dimensin
tabla de
dimensin
jerarqua de
dimensin
tabla de
dimensin
CAj
CAj
CAj
CAj
CAj
CAj
medidas
Extensin del esquema en estrella cuando las dimensiones se organizan en
jerarquas de niveles de dimensin (normalizar las tablas de dimensiones)
CAj
jerarqua de
dimensin
CAj
CAj
jerarqua de
dimensin
4. Diseo de un almacn de datos
117
Pasos en el diseo conceptual del almacn de datos:
Paso 1. Elegir un proceso de la organizacin para
modelar.
Paso 2. Decidir el grnulo (nivel de detalle) de
representacin del proceso.
Paso 3. Definir las dimensiones que caracterizan el
proceso.
Paso 4. Decidir la informacin a almacenar sobre el
proceso.
Modelado multidimensional:
4. Diseo de un almacn de datos
Para ilustrar los pasos de la metodologa de diseo conceptual, se va a utilizar el
modelo de Kimball.
118
Paso 1. Elegir un proceso de la organizacin para
modelar.
Proceso: actividad de la organizacin soportada por un
OLTP del cual se puede extraer informacin con el
propsito de construir el almacn de datos.

Pedidos (de clientes)
Compras (a suministradores)
Facturacin
Envos
Ventas
Inventario
4. Diseo de un almacn de datos
119
Ejemplo: Cadena de supermercados.
Cadena de supermercados con 300 almacenes en la
que se expenden unos 30.000 productos distintos.

Actividad: Ventas.
La actividad a modelar son las ventas de productos
en los almacenes de la cadena.


4. Diseo de un almacn de datos
120
Paso 2. Decidir el grnulo (nivel de detalle) de
representacin.
Grnulo: es el nivel de detalle al que se desea almacenar
informacin sobre la actividad a modelar.
El grnulo define el nivel atmico de datos en el almacn
de datos.
El grnulo determina el significado de las filas de la tabla
de hechos.
El grnulo determina las dimensiones bsicas del esquema
transaccin en el OLTP
informacin diaria
informacin semanal
informacin mensual. ....
4. Diseo de un almacn de datos
121
id_dim1
id_dim2
id_dim3
...
id_dim n
....
(hechos)






tabla de
hechos
tabla
Dimensin 3
tabla
Dimensin 1
tabla
Dimensin 2


tabla
Dimensin n
4. Diseo de un almacn de datos
122
Ejemplo: Cadena de supermercados.
Grnulo: se desea almacenar informacin sobre las ventas
diarias de cada producto en cada almacn de la cadena.
Grnulo:
define el significado de las filas de la tabla de hechos.
determina las dimensiones bsicas del esquema.
producto
da
almacn
ventas






4. Diseo de un almacn de datos
123
Grnulo inferior: no se almacena informacin a nivel de lnea
de ticket porque no se puede identificar siempre al cliente de
la venta lo que permitira hacer anlisis del comportamiento
(hbitos de compra) de los clientes individuales.

Grnulo superior: no se almacena informacin a nivel
semanal o mensual porque se perderan opciones de anlisis
interesantes: ventas en das previos a vacaciones, ventas en
fin de semana, ventas en fin de mes, ....
4. Diseo de un almacn de datos
124
En un almacn de datos se almacena informacin a un
nivel de detalle (grnulo) fino no porque se vaya a
interrogar el almacn a ese nivel sino porque ello permite
clasificar y estudiar (analizar) la informacin desde
muchos puntos de vista.
4. Diseo de un almacn de datos
125
producto
da
almacn
ventas






id_producto
id_fecha
id_almacn
.....
.....
......
tabla de
hechos
la clave primaria* est
formada por los
identificadores de las
dimensiones.
datos (medidas) sobre las
ventas diarias de un
producto en un almacn.
* pueden existir excepciones a esta regla general
4. Diseo de un almacn de datos
126
Paso 3. Identificar las dimensiones que caracterizan el
proceso.
Dimensiones: dimensiones que caracterizan la actividad al nivel
de detalle (grnulo) que se ha elegido.
Tiempo (dimensin temporal: cundo se produce la actividad?)
Producto (dimensin cul es el objeto de la actividad?)
Almacn (dimensin geogrfica: dnde se produce la actividad?)
Cliente (dimensin quin es el destinatario de la actividad?)
De cada dimensin se debe decidir los atributos (propiedades)
relevantes para el anlisis de la actividad.
Entre los atributos de una dimensin existen jerarquas
naturales que deben ser identificadas (Ej. da-mes-trimestre-ao en la
dimensinTiempo)
4. Diseo de un almacn de datos
127
id_dim1
....





tabla
Dimensin 1
4. Diseo de un almacn de datos
Por simplicidad se disearn esquemas en estrella, es decir las tablas de
dimensiones contendrn todos los atributos de la dimensin.
128
Ejemplo: Cadena de supermercados.
definicin de
grnulo
dimensiones
bsicas
tiempo
producto
almacn
Nota: En las aplicaciones reales el nmero de dimensiones
suele variar entre 4 y 15 dimensiones.
4. Diseo de un almacn de datos
129
Dimensin Tiempo:
dimensin presente en todo esquema multidimensional porque
el AD contiene informacin histrica sobre la organizacin.
aunque el lenguaje SQL ofrece funciones de tipo DATE, una
dimensin Tiempo permite representar otros atributos temporales
no calculables en SQL.
se puede calcular de antemano
atributos frecuentes:
nro. de da, nro. de semana, nro. de ao: valores absolutos del
calendario juliano que permiten hacer ciertos clculos aritmticos.
da de la semana (lunes, martes, mircoles,...): permite hacer
anlisis sobre das de la semana concretos (ej. ventas en sbado,
ventas en lunes,..).

4. Diseo de un almacn de datos
130
atributos frecuentes:
-da del mes (1..31): permite hacer comparaciones sobre el mismo da en
meses distintos (ventas el 1 de mes).
- marca de fin de mes, marca de fin de semana : permite hacer
comparaciones sobre el ltimo da del mes o das de fin de semana en
distintos meses.
- trimestre del ao (1..4): permite hacer anlisis sobre un trimestre concreto
en distintos aos.
- marca de da festivo: permite hacer anlisis sobre los das contiguos a un
da festivo.
- estacin (primavera, verano..)
- evento especial: permite marcar das de eventos especiales (final de
futbol, elecciones...)
jerarqua natural:
da - mes - trimestre -ao
4. Diseo de un almacn de datos
131
Dimensin Producto:
la dimensin Producto se define a partir del fichero maestro de
productos del sistema OLTP.
las actualizaciones del fichero maestro de productos deben
reflejarse en la dimensin Producto (cmo?).
la dimensin Producto debe contener el mayor nmero posible de
atributos descriptivos que permitan un anlisis flexible. Un nmero
frecuente es de 50 atributos.
atributos frecuentes: identificador (cdigo en la organizacin),
descripcin, tamao del envase, marca, categora, departamento,
tipo de envase, producto diettico, peso, unidades de peso,
unidades por envase, frmula, ...
jerarquas: producto-subcategora-categora-departamento

4. Diseo de un almacn de datos
132
Dimensin Almacn:
la dimensin Almacn representa la informacin geogrfica bsica.
en un proceso de integracin como es la creacin de un A.D, esta
dimensin suele ser creada explcitamente recopilando informacin
que slo tiene sentido en el A.D y que no la tiene en un OLTP (nmero
de habitantes de la ciudad del almacn, caracterizacin del tipo de
poblacin del distrito donde se encuentra el almacn, ...)
atributos frecuentes: identificador (cdigo en la organizacin),
nombre, direccin, distrito, regin, ciudad, pas, telfono, fax, tipo de
almacn, superficie, fecha de apertura, fecha de la ltima
remodelacin, superficie para congelados, superficie para productos
frescos, datos de la poblacin del distrito, zona de ventas, ...
jerarquas:
almacn - distrito - ciudad - regin - pas (jerarqua geogrfica)
almacn - zona_ventas - regin_ventas (jerarqua de ventas)
4. Diseo de un almacn de datos
133
nro_almacn
nombre
direccin
distrito
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
Almacn
da
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Producto
4. Diseo de un almacn de datos
134
da
nro_producto
nro_almacn
...
...
...
Ventas
nro_almacn
nombre
direccin
distrito
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Almacn
Producto
da
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
4. Diseo de un almacn de datos
135
4. Diseo de un almacn de datos
definicin de
grnulo
dimensiones
bsicas
D
1
D
2
D
n
id_dim
1
id_dim
2
id_dim
3
...
id_dim
n

(medidas)






tabla de
hechos
tabla
Dimensin 3
tabla
Dimensin 1
tabla
Dimensin 2


tabla
Dimensin n
...
Los identificadores de las dimensiones (bsicas) identifican la tabla de hechos
136
4. Diseo de un almacn de datos
id_dim
1
id_dim
2
id_dim
3
...
id_dim
n

(medidas)






tabla de
hechos
tabla
Dimensin 3
tabla
Dimensin 1
tabla
Dimensin 2


tabla
Dimensin n
Se pueden aadir nuevas dimensiones al conjunto de dimensiones inicial,
para incluir nuevos puntos de vista en el anlisis.


tabla
Dimensin k
137
4. Diseo de un almacn de datos
nro_producto
da
nro_almacn
id_promocin
ventas








Se desea incluir en el anlisis el punto de vista de la promocin bajo la
cual se ha realizado una venta.
Ventas
Si un producto, un da, en un almacn slo puede ser ofertado con un tipo
de promocin: la dimensin promocin est determinada por las
dimensiones originales. El grnulo del esquema no ha variado.
Los identificadores de las dimensiones no constituyen el identificador de la
tabla de hechos
138
4. Diseo de un almacn de datos
nro_producto
da
nro_almacn
nro_promocin
ventas








Se desea incluir en el anlisis el punto de vista de la promocin bajo la
cual se ha realizado una venta.
Ventas
Si un producto, un da, en un almacn puede ser ofertado con varios tipos
de promociones: las cuatro dimensiones son independientes entre s. El
grnulo del esquema ha variado.
Los identificadores de las dimensiones constituyen el identificador de la
tabla de hechos
139
Paso 4. Decidir la informacin a almacenar sobre el
proceso.
Hechos: informacin (sobre la actividad) que se desea almacenar
en cada fila de la tabla de hechos y que ser el objeto del anlisis.
Precio
Unidades
Importe
....
Nota: algunos datos que en el OLTP coincidiran con valores de
atributos de dimensiones, en el almacn de datos pueden
representar atributos de hechos. (Ejemplo: el precio de venta de un
producto).
4. Diseo de un almacn de datos
140
Ejemplo: Cadena de supermercados.
Grnulo: se desea almacenar informacin sobre las ventas
diarias de cada producto en cada almacn de la cadena.
importe total de las ventas del producto en el da
nmero total de unidades vendidas del producto en el da
nmero total de clientes distintos que han comprado el
producto en el da.

4. Diseo de un almacn de datos
141
da
nro_producto
nro_almacn
importe
unidades
nro_clientes
Ventas
nro_almacn
nombre
direccin
distrito
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Almacn
Producto
da
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
4. Diseo de un almacn de datos
142
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
Diseo lgico
traduccin del esquema
conceptual multidimensional
(ER, UML, MR, ..)
Esquema relacional (ROLAP)
Esquema multidimensional (MOLAP)
4. Diseo de un almacn de datos
143
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
M
e
t
o
d
o
l
o
g

a

d
e

K
i
m
b
a
l
l

traduccin directa
esquema relacional (ROLAP)
4. Diseo de un almacn de datos
(MR)
esquema relacional
multidimensional
Se asumir que el SAD es un sistema ROLAP, ya que es el caso mas frecuente.
144
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
M
o
d
e
l
a
d
o

m
u
l
t
i
d
i
m
e
n
s
i
o
n
a
l

traduccin
esquema relacional (ROLAP)
4. Diseo de un almacn de datos
(ER, UML, OO, ...)
esquema conceptual
multidimensional (ER, UML, OO, ..)
145
4. Diseo de un almacn de datos
Esquema multidimensional en UML.
Hecho


medida1
medida2
...
* *
*
1
1
1
D
2
D
3
D
n
*
1
Nivel
0
id_nivel
...
....

id_nivel
...
Nivel
1n
id_nivel
...
clase de
hecho
tabla de
hechos
clase de
nivel de
dimensin
tabla de
nivel
asociacin
(1:M)
clave
ajena
traduccin
146
4. Diseo de un almacn de datos
CAj
CAj
CAj
D
2
D
3
D
n
id_nivel
...

id_nivel
...

id_nivel
...

CA
j
CAj
CAj
id_dim
1
id_dim
2
..
id_dim
n
medidas
Nivel
0
Nivel..
Nivel
1n
Hechos

147
Orientaciones de diseo lgico (ROLAP):
uso de claves sin significado.
en un almacn de datos debe evitarse el uso de las claves del
sistema operacional.
las claves de las dimensiones deben ser generadas
artificialmente: claves de tipo entero (4 bytes) son suficiente
para dimensiones de cualquier tamao (2
32
valores distintos).
la dimensin TIEMPO debe tener tambin una clave artificial.
Inconvenientes del uso de las claves del sistema operacional:
en el OLTP se puede decidir reutilizar valores de la clave no utilizados
actualmente en la organizacin.
en el OLTP se puede decidir cambiar la codificacin de las claves.
reduce el tamao de la tabla de hechos
4. Diseo de un almacn de datos
148
id_almacn
nro_almacn
nombre
direccin
distrito
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
Almacn
id_fecha
da
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
id_producto
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Producto
4. Diseo de un almacn de datos
149
id_fecha
id_producto
id_almacn
importe
unidades
nro_clientes
Ventas
id_almacn
nro_almacn
nombre
direccin
distrito
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
id_producto
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Almacn
Producto
id_fecha
da
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
4. Diseo de un almacn de datos
150
Orientaciones de diseo lgico (ROLAP):
evitar normalizar.
Si se ha definido una nica tabla de dimensin para cada dimensin
identificada en el anlisis (esquema en estrella), es frecuente que
entre el conjunto de atributos de la tabla aparezcan dependencias
funcionales que hacen que la tabla no est en 3 F.N.
Evitar normalizar:
el ahorro de espacio no es significativo
se multiplican los JOIN durante las consultas.
4. Diseo de un almacn de datos
151
id_almacn
nro_almacn
nombre
direccin
distrito
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
id_producto
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Almacn
Producto
id_fecha
da
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
3 F.N
normalizar?
4. Diseo de un almacn de datos
152
id_producto
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Producto
30.000 productos
30 departamentos
~ 300 categoras (30 x10)
~ 3000 subcategoras (300 x10)
Coca-Cola 33cl. Refresco-cola Refrescos Bebidas
el nombre de un departamento (20 bytes) se repite
aproximadamente 1000 veces en la tabla Producto.
el nombre de una categora (20 bytes) se repite
aproximadamente 100 veces en la tabla Producto.
el nombre de una subcategora (20 bytes) se repite
aproximadamente 10 veces en la tabla Producto.
4. Diseo de un almacn de datos
153
id_producto
nro_producto
descripcin
marca
id_subcat
peso
unidades_peso
tipo_envase
diettico
...
Producto
id_subcat
subcategora
id_cat
id_cat
categora
id_dpto
id_dpto
departamento
Departamento
Categora
Subcategora
3 F.N
4. Diseo de un almacn de datos
esquema en copo de nieve
154
el nombre de un departamento (20 bytes) se repite
aproximadamente 1000 veces en la tabla Producto.
el nombre de una categora (20 bytes) se repite
aproximadamente 100 veces en la tabla Producto.
el nombre de una subcategora (20 bytes) se repite
aproximadamente 10 veces en la tabla Producto.
ahorro de espacio: ~ 20.000 bytes
Tamao frecuente de una tabla Producto: ~ 3 GB
4. Diseo de un almacn de datos
155
4. Diseo de un almacn de datos
CAj
CAj
CAj
D
2
D
3
D
n
id_nivel
...
id_nivel
...

id_nivel
...

CAj
CAj
CAj
id_dim
1
id_dim
2
..
id_dim
n
medidas
Nivel
0
Nivel
j
Nivel
1n
Hechos

desnormalizar
D
1
CAj
156
Ventajas de la desnormalizacin:
evitar la concatenacin (join) de tablas durante las
consultas
sencillez de uso
Inconvenientes de la desnormalizacin:
redundancia (ocupacin de espacio)
4. Diseo de un almacn de datos
157
Alternativas:
dimensin desnormalizada: todos los atributos de la
dimensin estn incluidos en una nica tabla.
dimensin normalizada: cada tabla de nivel en la
dimensin incluye el identificador interno (clave ajena) del
nivel "padre" en cada jerarqua a la que pertenece (puede
incluir tambin el identificador en la organizacin).
dimensin moderadamente normalizada: cada tabla de
nivel incluye los identificadores internos de todos los
"antecesores" en cada jerarqua a la que pertenece (puede
incluir tambin los identificadores en la organizacin).
4. Diseo de un almacn de datos
158
4. Diseo de un almacn de datos
Esquema en estrella
Dimensin Producto desnormalizada
id_producto
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Producto
159
id_producto
nro_producto
descripcin
marca
id_subcat
peso
unidades_peso
tipo_envase
diettico
...
Producto
id_subcat
subcategora
id_cat
id_cat
categora
id_dpto
id_dpto
departamento
Departamento
Categora
Subcategora
3 F.N
4. Diseo de un almacn de datos
Esquema en copo de nieve
Dimensin Producto normalizada
160
id_producto
nro_producto
descripcin
marca
id_subcat
subcategora
peso
unidades_peso
tipo_envase
diettico
...
Producto
id_subcat
subcategora
id_cat
categora
...
id_cat
categora
id_dpto
departamento
...
id_dpto
departamento
...
Departamento
Categora
Subcategora
3 F.N
4. Diseo de un almacn de datos
Esquema en copo de nieve
Dimensin Producto normalizada
161
id_producto
nro_producto
descripcin
marca
id_subcat
id_cat
id_dpto
peso
unidades_peso
tipo_envase
diettico
...
Producto
id_subcat
subcategora
id_cat
id_dpto
...
id_cat
categora
id_dpto
...
id_dpto
departamento
...
Departamento
Categora
Subcategora
4. Diseo de un almacn de datos
Esquema en copo de nieve
Dimensin Producto moderadamente
normalizada
162
id_producto
nro_producto
descripcin
marca
id_subcat
subcategora
id_cat
categora
id_dpto
departamento
peso
unidades_peso
tipo_envase
diettico
...
Producto
id_subcat
subcategora
id_cat
categora
id_dpto
departamento

id_cat
categora
id_dpto
departamento

id_dpto
departamento

Departamento
Categora
Subcategora
4. Diseo de un almacn de datos
Esquema en copo de nieve
Dimensin Producto moderadamente
normalizada
163
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
Diseo fsico
consideraciones de
almacenamiento fsico
Esquema fsico en el SGBD
disponible
4. Diseo de un almacn de datos
164
Diseo fsico: depende del tipo de SAD (MOLAP o ROLAP).
Sistemas MOLAP
disponen de estructuras de almacenamiento especficas
(matrices multidimensionales) y tcnicas de compactacin de
datos que favorecen el rendimiento del almacn.
Sistemas ROLAP
se implementan sobre tecnologa relacional, pero disponen
de algunas facilidades para mejorar el rendimiento (ndices
de mapas de bits, ndices de JOIN, tcnicas de
particionamiento, ...).
4. Diseo de un almacn de datos
Objetivo: obtener un buen tiempo de respuesta en la
evaluacin de las consultas.
165
Diseo fsico: depende del tipo de SAD (MOLAP o ROLAP).
Las decisiones de diseo fsico deben tener en cuenta
la estrategia de optimizacin de consultas seguida en
el SGBD disponible.
4. Diseo de un almacn de datos
Objetivo: obtener un buen tiempo de respuesta en la
evaluacin de las consultas.
166
Diseo fsico en un sistema ROLAP:
Plan de evaluacin de una consulta*:
1. Evaluar las condiciones de la consulta sobre cada dimensin para
obtener un conjunto de identificadores.
2. Combinar (producto cartesiano) los identificadores de todas las
dimensiones obtenidos en el paso anterior.
3. Buscar las filas de la tabla de hechos correspondientes a estos
identificadores.
4. Agrupar las filas y agregar las medidas.

* Este plan de evaluacin de consultas presupone que el sistema ROLAP
aplica una estrategia de optimizacin especfica para esquemas
multidimensionales (esquemas en estrella): star schema optimization.
4. Diseo de un almacn de datos
167
34 12-12-98 12-98 lunes 4-98 1998 no
56 10-6-97 6-97 mircoles 2-97 1997 si
12 10-1-99 1-99 sbado 1-99 1999 no
34 12-8-98 8-98 lunes 3-98 1998 si
41 1-6-97 6-97 sbado 2-97 1997 no

Tiempo
..... sbado domingo
0 0
0 1
1 0
0 0
1 0

ndice-da de la semana
12
41
Identificadores
(Tiempo)
4. Diseo de un almacn de datos
1. Evaluar las condiciones de la consulta sobre cada dimensin para
obtener un conjunto de identificadores.
da='sbado'
168
3 almacn1 Valencia Comunidad Valenciana Espaa
34 almacn5 Len Castilla-Len Espaa
21 almacn7 Valencia Comunidad Valenciana Espaa
....

Almacn
Valencia [-, - |
Len [- |


ndice-ciudad
3
21
Identificadores
(Almacn)
4. Diseo de un almacn de datos
1. Evaluar las condiciones de la consulta sobre cada dimensin para
obtener un conjunto de identificadores.
ciudad='Valencia'
169
4. Diseo de un almacn de datos
3
21
Identificadores
(Almacn)
12
41
Identificadores
(Tiempo)
X
12 3
12 21
41 3
41 21
2. Combinar (producto cartesiano) los identificadores de todas las
dimensiones obtenidos en el paso anterior.
170
id_fecha id_alm id_prod importe
....
12 3 14 100000
.....
12 21 34 50000
.....
12 3 99 65000
ndice
Tiempo-Almacn
12 3 [-, - |
......
12 21 [- |
.....
Ventas
RIDs
12 3
12 21
41 3
41 21
4. Diseo de un almacn de datos
3. Buscar las filas de la tabla de hechos correspondientes a estos
identificadores.
171
.......
12 3 14 100000
.....
12 21 34 50000
.....
12 3 99 65000
Ventas
4. Diseo de un almacn de datos
.......
12 3 165000
.....
12 21 50000
.....
Informe
4. Agrupar las filas y agregar las medidas.
172
4. Diseo de un almacn de datos
Recursos para el diseo fsico en sistemas ROLAP:
Diseo de ndices
ndices en rbol B
ndices de mapa de bits
ndices de JOIN
Particionamiento de la tabla de hechos
particionamiento vertical (por columnas)
particionamiento horizontal (por filas)
173
Diseo de ndices:
Tabla de hechos:
1 ndice sobre la clave primaria (compuesta)
ndices sobre subconjuntos de componentes de la
clave primaria.(utilizados frecuentemente en las
bsquedas)
Tablas de dimensin:
ndices sobre los atributos usados frecuentemente para
establecer restricciones sobre las dimensiones.
4. Diseo de un almacn de datos
174
Diseo de ndices:
Los ndices compuestos deben disearse ordenando
los campos en el ndice de forma que favorezcan la
evaluacin de las consultas ms frecuentes.
4. Diseo de un almacn de datos
175
Estimacin del tamao del AD:
Hiptesis de trabajo:
- los atributos identificadores (clave) son de 4 bytes.
- los atributos (numricos) de la tabla de hechos (medidas) son
de 4 bytes
- en tablas de hechos con 4 o menos medidas el tamao del
ndice maestro (sobre la clave primaria) suele tener un tamao
entre el 60% y el 80% del tamao de la tabla de hechos.
- en tablas de hechos que tienen de 15 a 20 medidas el tamao
del ndice maestro suele tener un tamao entre el 30% y el 50%
del tamao de la tabla de hechos.
- el tamao de las tablas de dimensiones y sus ndices
asociados es mucho menor que el tamao de la tabla de hechos.
4. Diseo de un almacn de datos
176
Estimacin del tamao del AD:
Ejemplo: Cadena de supermercados.
Tabla de hechos (sin ndices ni datos agregados)
Tiempo: informacin almacenada durante 2 aos
(2x365 das=730 das)
Almacn: 300 almacenes.
Producto: 30000 productos (10% se venden
diariamente en un almacn).
3000 x 730 x 300= 657 millones de tuplas
657millones de tuplas x 6 atributos x 4 bytes ~ 16 GB
4. Diseo de un almacn de datos
177
Tecnologa actual de Almacenes de Datos:
La tecnologa actual est preparada para gestionar almacenes
de datos con:
nro. tuplas de tabla de hechos < 1billn de tuplas
tamao de la tabla de hechos < 100GB.
4. Diseo de un almacn de datos
178
Sectores con almacenes de datos muy grandes:
Compaas telefnicas: anlisis de llamadas.
Proveedores mayoristas: ventas a nivel de lnea de ticket.
Compaas de tarjetas de crdito: compras con tarjeta.
4. Diseo de un almacn de datos
179
Ejemplo: Proveedores mayoristas.
Tiempo: 3 aos
Ingresos anuales: $80 billones
Importe medio de una lnea de factura: $5
Nro. de lneas de factura: $80 / $5=16 billones
Nro. de tuplas de la tabla de hechos: 16b. x 3=48b.
Nro. de campos de la clave: 4; Nro. de campos de datos: 4
Tamao de la tabla de hechos:
48b. x 8 campos x 4bytes = 1.540GB.

4. Diseo de un almacn de datos
180
Ejemplo: Compaa telefnica.
Tiempo: 3 aos = 1095 das
Nro. llamadas por da: 100 millones
Nro. de tuplas de la tabla de hechos: 1095 x 1000000=109b.
Nro. de campos de la clave: 5; Nro. de campos de datos: 3
Tamao de la tabla de hechos:
109b. x 8 campos x 4bytes = 3.490GB.

4. Diseo de un almacn de datos
181
Ejemplo: Tarjetas de crdito.
Tiempo: 3 aos = 36 meses
Nro. de tarjetas de crdito: 50 millones
Nro. medio de compras mensuales con tarjeta: 30.
Nro. de tuplas de la tabla de hechos: 36 x 50000000 x 30 = 54b.
Nro. de campos de la clave: 5; Nro. de campos de datos: 3
Tamao de la tabla de hechos:
54b. x 8 campos x 4bytes = 1.730GB.

4. Diseo de un almacn de datos
182
Consideraciones en el diseo de almacenes
de datos.
Diseo de dimensiones:
dimensin Tiempo
dimensiones muy grandes
dimensiones en la sombra
dimensiones degeneradas
dimensiones no-completas
dimensiones no-estrictas
4. Diseo de un almacn de datos
183
Consideraciones en el diseo de almacenes
de datos.
Diseo de hechos:
diseo de la tabla de hechos
relaciones M:M entre la tabla de hechos y las tablas de
dimensiones
tablas de hechos degeneradas
4. Diseo de un almacn de datos
184
Consideraciones en el diseo de almacenes
de datos.
Otras consideraciones:
dimensiones que cambian
definicin de agregados
4. Diseo de un almacn de datos
185
Consideraciones en el diseo de almacenes
de datos.
Diseo de dimensiones:
dimensin Tiempo
dimensiones muy grandes
dimensiones en la sombra
dimensiones degeneradas
dimensiones no-completas
dimensiones no-estrictas
4. Diseo de un almacn de datos
186
En un almacn de datos muchas consultas son
restringidas y parametrizadas por criterios relativos
a periodos de tiempo (ltimo mes, este ao, ...).
Diseo de dimensiones:
introducir la dimensin Tiempo.
4. Diseo de un almacn de datos
187
id_fecha
id_producto
id_almacn
importe
unidades
nro_clientes
Ventas
id_almacn
nro_almacn
nombre
direccin
distrito
regin
ciudad
pas
tlfno
fax
superficie
tipo_almacn
...
id_producto
nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Almacn
Producto
id_fecha
fecha
semana
mes
ao
da_semana
da_mes
trimestre
festivo
....
Tiempo
4. Diseo de un almacn de datos
188
id_fecha
fecha
mes
da-semana
trimestre
ao
festivo
12-12-98 12-98 lunes 4-98 1998 no
10-6-97 6-97 mircoles 2-97 1997 si
10-1-99 1-99 jueves 1-99 1999 no
12-8-98 8-98 lunes 3-98 1998 si
1-6-97 6-97 sbado 2-97 1997 no

Ejemplo de
dimensin Tiempo
desnormalizada
4. Diseo de un almacn de datos
189
Atributos de la dimensin tiempo:
fecha completa (en el formato del AD)
mes, trimestre y ao
da de la semana (lunes.. domingo)
da del mes (1..31)
semana del mes (1..5)
da del ao (1..365)
semana del ao (1..48)
trimestre del ao (1..4)
mes del ao (enero..diciembre)
vspera de da festivo
da festivo
4. Diseo de un almacn de datos
190
Diseo de dimensiones :
dimensiones muy grandes.
Existen dimensiones especialmente grandes, de millones de
registros, que pueden plantear problemas de eficiencia durante la
explotacin del A.D. (tabla de clientes de una compaa de
servicios, tabla de clientes de una aseguradora, etc)
crear minidimensiones
4. Diseo de un almacn de datos
191
Diseo de dimensiones: dimensiones muy grandes.
Ejemplo:
El tamao usual de una tabla de dimensin es de un nmero de
registros inferior a 50.000 filas y aproximadamente 50 atributos.
(dimensin PRODUCTO en una cadena de supermercados).
Una tabla de dimensin muy grande puede tener millones o incluso
decenas de millones de filas. (dimensin CLIENTE en una
compaa telefnica).
El tamao de la dimensin penaliza la evaluacin de restricciones
sobre los atributos de la dimensin.
Nota: Incluso una tabla de dimensin muy grande con 10 millones de
tuplas puede ocupar de 5 a 6 GB.
4. Diseo de un almacn de datos
192
Diseo de dimensiones: dimensiones muy grandes.
id_cliente
nro_cliente
dni
nombre
direccin
....
edad
nivel_ingresos
estado_civil
sexo
nivel_estudios
...
CLIENTE
son utilizados frecuentemente para
establecer condiciones en las consultas.
tienen un rango de valores reducido.
4. Diseo de un almacn de datos
193
Diseo de dimensiones: dimensiones muy grandes.
id_cliente
nro_cliente
dni
nombre
direccin
....
id_demo
CLIENTE
id_demo
cdigo
franja_edad
nivel_ingresos
estado_civil
sexo
nivel_estudios
minidimensin
demogrfica
......
id_cliente
id_demo
......
......

Tabla de Hechos
separar un grupo de
atributos afines de la
dimensin original en
una dimensin auxiliar.
4. Diseo de un almacn de datos
194
Minidimensin:
se crea un registro en la minidimensin para cada
combinacin distinta de valores de los atributos
seleccionados.
el tamao de la minidimensin debe estar por debajo
de 100.000 filas.
la clave de la minidimensin se incluye en la dimensin
original (dimensin muy grande) y en la tabla de
hechos*.

* En este caso la inclusin de una nueva dimensin no cambia la
granularidad del esquema ni la clave primaria de la tabla de hechos.
4. Diseo de un almacn de datos
195
Ventajas del uso de las minidimensiones:
ahorro de espacio
mejora la evaluacin de restricciones sobre los atributos de
la minidimensin.
restricciones sobre atributos de la minidimensin pueden
ser aplicadas sin acceder a la dimensin original,
concatenando directamente con la tabla de hechos.
restricciones sobre atributos de la minidimensin y otros
atributos de la dimensin original pueden ser evaluados (la
clave de la minidimensin aparece en la dimensin original).
facilita el tratamiento de cambios sobre atributos de la
minidimensin: no es necesario crear un nuevo registro en la
dimensin original.
4. Diseo de un almacn de datos
196
id_demo ...........
1 ............
2 ............
3 ............
id_cliente ......... id_demo
11 ........... 2
26 ............ 1
33 ............ 1
.... id_cliente id_demo .............
.... 11 1 ............
.... 11 2 ............
.... 33 1 ............
Tabla de hechos
Demo
Cliente
El cliente de id_cliente 11 ha cambiado su
dimensin demogrfica de un valor 1 a un
valor 2 (valor actual) teniendo hechos
almacenados de cada etapa. Un nuevo
cambio al valor 3 significara modificar el
valor de id_demo en Cliente y almacenar a
partir de ese momento los hechos relativos al
cliente 11 con el valor de id_demo igual a 3.
4. Diseo de un almacn de datos
197
Diseo de dimensiones: dimensiones en la sombra.
id_almacn
id_fecha
id_producto
unidades
nro_clientes
importe






Ventas
Almacn
1
1
1
N
N
N
Tiempo
Producto
Las tablas de dimensiones representan los puntos de vistas
del anlisis.
4. Diseo de un almacn de datos
198
Las tablas de dimensiones deben contener atributos analticos:
- los atributos analticos no son propios de un valor (instancia)
de la dimensin sino de conjuntos de valores. (Ejemplo:
categora, regin, )
- los atributos analticos suelen tener un rango de valores
limitado.
- los atributos analticos son utilizados en el anlisis de datos:
aplicar condiciones sobre las dimensiones.
Diseo de dimensiones: dimensiones en la sombra.
4. Diseo de un almacn de datos
199
Cuando en el anlisis de datos, una dimensin participa al nivel bsico
(producto, almacn, da), suele ser frecuente que en el informe del
usuario se deseen incluir atributos descriptivos del valor (instancia) de la
dimensin.
Ejemplo: En un informe de ventas por productos, regiones y aos,
puede ser interesante que aparezca la descripcin completa del
producto (nombre).
Este hecho justifica la inclusin de atributos que no son analticos en las
dimensiones: descripcin del producto, nombre del cliente, ..
Para no penalizar el tamao de las tablas de dimensiones con atributos
que no son analticos se suelen definir dimensiones en la sombra
(shadow dimension).
Diseo de dimensiones: dimensiones en la sombra.
4. Diseo de un almacn de datos
200
id_almacn
id_fecha
id_producto
id_info_producto
unidades
nro_clientes
importe






Ventas
Almacn
1
1
1
N
N
N
Tiempo
Producto


1
N
Info_producto
dimensin en
la sombra
Diseo de dimensiones: dimensiones en la sombra.
4. Diseo de un almacn de datos
* En este caso la inclusin de una nueva dimensin no cambia la granularidad del
esquema ni la clave primaria de la tabla de hechos.
201
id_cliente
id_fecha
id_clinica
importe






Facturacin
Cliente
1
1
1
N
N
N
Tiempo
Clnica
Tabla de hechos: facturacin a clientes en las distintas clnicas de
un sistema sanitario.
Diseo de dimensiones: dimensiones degeneradas.
4. Diseo de un almacn de datos
202
id_cliente
id_fecha
id_clinica
id_factura
importe






Facturacin
Cliente
1
1
1
N
N
N
Tiempo
Clnica
Tabla de hechos: facturacin a clientes en las distintas clnicas de
un sistema sanitario.

1
N
Factura
dimensin
degenerada
Diseo de dimensiones: dimensiones degeneradas.
4. Diseo de un almacn de datos
203
id_cliente
id_fecha
id_clinica
Id_factura
importe






Facturacin
Cliente
1
1
1
N
N
N
Tiempo
Clnica
Tabla de hechos: facturacin a clientes en las distintas clnicas de
un sistema sanitario.


1
N
Factura
dimensin
degenerada
Diseo de dimensiones: dimensiones degeneradas.
4. Diseo de un almacn de datos
204
id_cliente
id_fecha
id_clinica
id_factura
importe






Facturacin
Cliente
1
1
1
N
N
N
Tiempo
Clnica
Tabla de hechos: facturacin a clientes en las distintas clnicas de
un sistema sanitario.


1
N
Factura dimensin
degenerada
Diseo de dimensiones: dimensiones degeneradas.
4. Diseo de un almacn de datos
205
Diseo de dimensiones: dimensiones no-completas.
4. Diseo de un almacn de datos
Dimensin no-completa:
dimensin que tiene una
jerarqua no completa
Categora
nombre
...
Departamento

nombre
...
0..
no-completa
Categora Departamento
Coac
Vino
Servilletas
Pauelos
Bisutera

Bebidas
Papel

206
Diseo de dimensiones: dimensiones no-completas.
4. Diseo de un almacn de datos
Categora Departamento
Coac
Vino
Servilletas
Pauelos
Bisutera

Bebidas
Papel

nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Producto
Solucin: convertir la jerarqua no-completa en
una jerarqua completa introduciendo valores
artificiales para el nivel que causa el problema.
207
Diseo de dimensiones: dimensiones no-completas.
4. Diseo de un almacn de datos
id_producto id_fecha id_almacn importe ...
3 12 13 100
7 15 12 50
4 78 11 400
6 7 12 67
......
Ventas
3 p23 Magno Coac Bebidas
7 p34 Cune Vino Bebidas
4 p11 Dodot Servilleta Papel
5 p4 Klenex Pauelo Papel
6 p14 Loewe Bisutera NULL
Producto
Departamento Ingresos
Bebidas 150
Papel 400
Total ingresos: 550
El total (550) es
incorrecto
Informe de ingresos por
departamento.
id_prod nro_prod marca categora departamento
208
Diseo de dimensiones: dimensiones no-completas.
4. Diseo de un almacn de datos
id_producto id_fecha id_almacn importe ....
3 12 13 100
7 15 12 50
4 78 11 400
6 7 12 67
......
Ventas
Producto
Departamento Ingresos
Bebidas 150
Papel 400
Varios 67
Total ingresos: 1220
El total (1220) es
correcto
Informe de ingresos por
departamento.
Definir un departamento Varios
para convertir la jerarqua no-
completa en completa.
3 p23 Magno Coac Bebidas
7 p34 Cune Vino Bebidas
4 p11 Dodot Servilleta Papel
5 p4 Klenex Pauelo Papel
6 p14 Loewe Bisutera Varios
id_prod nro_prod marca categora departamento
209
Diseo de dimensiones: dimensiones no-estrictas.
4. Diseo de un almacn de datos
Categora

nombre
...
Departamento

nombre
...
..*
no-estricta
Categora Departamento
Coac
Vino
Servilletas
Pauelos


Bebidas
Papel
Droguera

Dimensin no-estricta:
dimensin que tiene una
jerarqua no-estricta
210
Diseo de dimensiones: dimensiones no-estrictas.
4. Diseo de un almacn de datos
Categora Departamento
Coac
Vino
Servilletas
Pauelos

Bebidas
Papel
Droguera

nro_producto
descripcin
marca
subcategora
categora
departamento
peso
unidades_peso
tipo_envase
diettico
...
Producto
Solucin: documentar el esquema y advertir al
usuario de los problemas.
211
Diseo de dimensiones: dimensiones no-estrictas.
4. Diseo de un almacn de datos
id_prod id_fecha id_alm importe
3 12 13 100
7 15 12 50
4 78 11 400
5 7 12 67
......
Ventas
Producto
id_prod nro_prod marca categora
3 p23 Magno Coac
7 p34 Cune Vino
4 p11 Dodot Servilleta
5 p4 Klenex Pauelo
id_dpto departamento
1 Bebidas
2 Papel
3 Droguera
Departamento
id_prod id_dpto
3 1
7 1
4 2
5 2
5 3
Prod_Dpto
212
Diseo de dimensiones: dimensiones no-estrictas.
4. Diseo de un almacn de datos
id_producto id_fecha id_almacn importe
3 12 13 100
7 15 12 50
4 78 11 400
5 7 12 67
......
Ventas
Producto
Departamento Ingresos
Bebidas 150
Papel 467
Droguera 67
Total ingresos: 684
El total (684) es
incorrecto
Informe de ingresos por
departamento.
3 p23 Magno Coac Bebidas
7 p34 Cune Vino Bebidas
4 p11 Dodot Servilleta Papel
5 p4 Klenex Pauelo Papel, Droguera
id_prod nro_prod marca categora departamento
213
Diseo de dimensiones: dimensiones no-estrictas.
4. Diseo de un almacn de datos
id_producto id_fecha id_almacn importe
3 12 13 100
7 15 12 50
4 78 11 400
5 7 12 67
......
Ventas
Informe de ingresos por
departamento.
No se puede agrupar por
departamento, ya que la
jerarqua no es estricta por
debajo de departamento.
3 p23 Magno Coac Bebidas
7 p34 Cune Vino Bebidas
4 p11 Dodot Servilleta Papel
5 p4 Klenex Pauelo Papel, Droguera
id_prod nro_prod marca categora departamento
214
Consideraciones en el diseo de almacenes
de datos.
Diseo de hechos
diseo de la tabla de hechos.
relaciones M:M entre la tabla de hechos y las tablas de
dimensiones.
tablas de hechos degeneradas
4. Diseo de un almacn de datos
215
Diseo de hechos:
atributos aditivos, semiaditivos y no-aditivos
los atributos de la tabla de hechos (medidas) son generalmente
de dominios continuos, numricos y de carcter aditivo.
existen medidas que pueden ser aditivos para algunas
dimensiones y no serlo para otras. Atencin!
los clculos realizados sobre las medidas pueden ser aditivos o
no aditivos. Atencin!

4. Diseo de un almacn de datos
216
Diseo de hechos: atributos aditivos, semiaditivos, no-aditivos
id_fecha
id_producto
id_almacn
importe
unidades
nro_clientes
Ventas
id_fecha id_producto id_almacn importe unidades nro_clientes
....
13 1 23 5000 10 10
13 23 23 2000 4 2
13 12 23 1000 2 1
....
agrupacin por Fecha y Almacn
agregacin sobre Producto
Ventas
8000
16 s 13
aditivo aditivo no aditivo
El atributo nro_clientes es semiaditivo
porque no es aditivo sobre la
dimensin Producto.
Nota: en el ejemplo cliente es sinnimo de compra (no se pueden identificar los clientes).
4. Diseo de un almacn de datos
217
Diseo de hechos: atributos aditivos, semiaditivos y no-aditivos
Importe es aditivo sobre Tiempo, Producto, Almacn
Unidades es aditivo sobre Tiempo, Producto, Almacn
Nro-clientes es aditivo sobre Tiempo, Almacn y no es aditivo sobre Producto.
id_fecha id_producto id_almacn importe unidades nro_clientes
....
12 1 23 5000 10 10
12 1 25 2000 4 2
12 1 3 1000 2 1
....
Ventas
8000 16
13
aditivo aditivo aditivo
4. Diseo de un almacn de datos
218
Diseo de hechos: atributos aditivos, semiaditivos y no-aditivos
Clculos aditivos y no aditivos Atencin!
(beneficio es aditivo) beneficio = importe - coste
Z = X - Y (beneficio de cada venta individual)
X - Y = (X -Y) = Z
(el beneficio total es igual a la suma de beneficios individuales)
margen = beneficio/importe (margen no es aditivo)
Z= X/ Y (margen de beneficio en cada venta individual)
X/ Y = (X/Y) = Z
(el margen de beneficios total no es igual a la suma de mrgenes de
beneficio individuales)
4. Diseo de un almacn de datos
219
id_producto
id_fecha
id_almacn
id_promocin
ventas
Diseo de hechos: tablas de hechos sin medidas








Ejemplo: el almacn de datos para la cadena de supermercados
introduciendo la dimensin promocin.
En el esquema anterior no es posible saber qu productos han estado en
promocin en un almacn en una fecha determinada si no han tenido ventas!
4. Diseo de un almacn de datos
220
Diseo de hechos: tablas de hechos sin medidas
id_producto
id_fecha
id_almacn
id_promocin








Solucin: tabla de hechos sin medidas para registrar las
promociones diarias de productos en los almacenes de la cadena.
La tabla de hechos Ventas y la tabla de hechos Promociones permiten responder
a las consultas:
productos que han estado en promocin y han sido vendidos
productos que han estado en promocin y no han sido vendidos
Promociones
4. Diseo de un almacn de datos
221
Diseo de hechos: tablas de hechos sin medidas
Las tablas de hechos sin medidas son tablas de hechos
compuestas por los identificadores de las dimensiones pero sin
medidas (datos).

Las tablas de hechos sin medidas se usan para registrar la
ocurrencia de eventos que no llevan informacin asociada
4. Diseo de un almacn de datos
222
Diseo de hechos:
relaciones M:M entre la tabla de hechos y una dimensin
En un esquema multidimensional (en estrella) la tabla de hechos se
relaciona con las tablas de dimensiones a travs de relaciones 1:M.
id_dim1
id_dim2
id_dim3
...
id_dim n
....
(medidas)






tabla de
hechos
tabla
Dimensin 3
tabla
Dimensin 1
tabla
Dimensin 2


tabla
Dimensin n
1
1
1
1
N
N
N
N
4. Diseo de un almacn de datos
223
En un esquema multidimensional (en estrella) la tabla de hechos se
relaciona con las tablas de dimensiones a travs de relaciones 1:M.
id_dim1
id_dim2
id_dim3
...
id_dim n
....
(medidas)






tabla de
hechos
tabla
Dimensin 3
tabla
Dimensin 1
tabla
Dimensin 2


tabla
Dimensin n
1
1
1
1
N
N
N
N
Diseo de hechos:
relaciones M:M entre la tabla de hechos y una dimensin
4. Diseo de un almacn de datos
224
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
N
N
N
N
N
Tiempo
Clnica
Diagnstico
En un sistema sanitario, en la factura a un cliente la clnica puede facturar
pruebas realizadas para distintos tipos de diagnstico (hepatitis, sida, )
Diseo de hechos:
relaciones M:M entre la tabla de hechos y una dimensin
4. Diseo de un almacn de datos
225
El identificador de las tuplas de la tabla de hechos esta formado por
los identificadores: id_cliente, id_fecha, id_clnica.
El atributo id_diag, en la tabla de hechos es multivaluado.
Diseo de hechos:
relaciones M:M entre la tabla de hechos y una dimensin
4. Diseo de un almacn de datos
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
N
N
N
N
N
Tiempo
Clnica
Diagnstico
226
id_cliente id_fecha id_clinica importe id_diag.....
23 4 12 145 3
7
23 6 15 300 3

25 78 12 400 7
......
Informe de facturacin.
3 Diabetes
7 Hepatitis
4 Sida
Diagnsticos
Diagnstico Ingresos
3 445
7 545
Total ingresos: 990
El total (990) es
incorrecto
Informe de ingresos por
tipo de diagnstico.
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
227
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
N
N
N
N
N
Tiempo
Clnica
Diagnstico
En un sistema sanitario, en la factura a un cliente la clnica puede facturar
pruebas realizadas para distintos tipos de diagnstico (hepatitis, sida, )
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
228
id_cliente
id_fecha
id_clinica
id_grupo
importe






Facturas
Cliente
id_grupo
id_diag
factor
1
1
1
N
N
N
N
1
Tiempo
Clnica
Grupo_diag
Solucin 1: Crear una tabla puente (Grupo_diag) que permite fijar un factor
(porcentaje) para cada diagnstico dentro de una factura (o el importe exacto del
diagnstico en la factura). Una factura estar asociada a tantas filas de la tabla
puente como diagnsticos incluya la factura.
id_diag
desc

Diagnstico
1
N
Solucin 1
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
229
id_cliente
id_fecha
id_clinica
id_grupo
importe






Facturas
Cliente
id_grupo
id_diag
factor
1
1
1
N
N
N
N
1
Tiempo
Clnica
Grupo_diag
Solucin 1: el id_grupo representa una clave alternativa en la tabla de
hechos.
id_diag
desc

Diagnstico
1
N
Solucin 1
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
230
id_cliente id_fecha id_clinica id_grupo importe
.....
23 4 12 1 145
24 6 15 6 300

25 78 12 53 400
......
Informe de facturacin
3 Diabetes
7 Hepatitis
4 Sida
Diagnstico
Diagnstico Ingresos
(factor importe)
3 336.25
7 508.75
Total ingresos: 845 El total (845) es
correcto
Informe de ingresos por
tipo de diagnstico.
1 3 25
1 7 75
6 3 100
53 7 100
Se agrupa
por tipo de
diagnstico
Grupo_diag
porcentaje que el
diagnstico
representa en el
importe de la
factura
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
231
id_cliente id_fecha id_clinica id_grupo importe
.....
23 4 12 1 145
24 6 15 6 300

25 78 12 53 400
......
Facturas
3 Diabetes
7 Hepatitis
4 Sida
Diagnstico
Diagnstico Ingresos
3 336.25
7 508.75
Total ingresos: 845 El total (845) es
correcto
Informe de ingresos por
tipo de diagnstico.
1 3 25
1 7 75
6 3 100
53 7 100
Se agrupa
por tipo de
diagnstico
Grupo_diag
porcentaje que el
diagnstico
representa en el
importe de la
factura
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
232
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
N
N
N
N
N
Tiempo
Clnica
Diagnstico
En un sistema sanitario, en la factura a un cliente la clnica puede facturar
pruebas realizadas para distintos tipos de diagnstico (hepatitis, sida, )
Solucin 2
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
233
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
Solucin 2: Crear varias filas en la tabla de hechos que representen el
mismo hecho (factura), una por cada diagnstico incluido en la factura.
Solucin 2
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
234
El identificador de la tabla de hechos est compuesto por los
identificadores: id_cliente, id_fecha, id_clinica, id_diag.
Ha cambiado la granularidad del esquema en estrella: grnulo mas fino.
Solucin 2
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
235
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
En las filas de la tabla de hechos se est almacenando informacin agregada
(importe total de la factura). La medida importe no corresponde a la granularidad del
esquema en estrella.
Con la granularidad del esquema en estrella, slo se pueden usar la funcin COUNT
sobre la tabla de hechos. No se puede utilizar la medida importe.
Solucin 2
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
236
2004
Resonancia
Valencia
importe
Ciudad
Regin
Nombre
DNI
Tipo_cliente
Da
Mes
Da de la
semana
Diagnstico
Descripcin
Departamento
Tipo_diag
Ao
OLAP
Trimestre
Ciudad
Regin
Nombre
Clnica
Tipo_clinica
Nmero de diagnsticos del departamento
de Resonancia realizados este ao en
clnicas de Valencia, por diagnstico y por
clnica.
4. Diseo de un almacn de datos
237
id_cliente
id_fecha
id_clinica
id_diag
importe






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
SELECT D.diagnstico, C.clnica, COUNT (*)
FROM Facturas F, Tiempo T, Diagnstico D, Clnica C
WHERE F.id_diag = D.id_diag AND F.id_fecha = T.id_fecha AND
F.id_clnica = C.id_clnica AND D.departamento= Resonancia AND
C.ciudad = 'Valencia' AND T.ao= year (TODAY)
GROUP BY D.diagnstico, C.clnica
4. Diseo de un almacn de datos
238
id_cliente
id_fecha
id_clinica
id_diag
factura
importe






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
Para poder controlar la informacin redundante sobre una misma factura en la
tabla de hechos, es necesario incluir en la tabla de hechos un atributo que identifique
a la factura: nivel de agregacin en el que tiene significado la medida importe.
Slo cuando se agrupa por factura, se puede incluir la medida importe como
atributo del grupo.
Solucin 2
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
239
2004
Anlisis
Valencia
factura
importe
Ciudad
Regin
Nombre
DNI
Tipo_cliente
Da
Mes
Da de la
semana
Diagnstico
Descripcin
Departamento
Tipo_diag
Ao
OLAP
Trimestre
Ciudad
Regin
Nombre
Clnica
Tipo_clinica
Facturacin realizada en la clnica 'Anlisis
Valencia', para el ao en curso.
4. Diseo de un almacn de datos
240
id_cliente
id_fecha
id_clinica
factura
id_diag
importe






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
SELECT T.dia, CL.dni, CL.nombre, F.factura, F.importe
FROM Facturas F, Tiempo T, Clnica C, Cliente CL
WHERE
F.id_clinica = C.id_clnica AND F.id_fecha = T.id_fecha AND CL.id_cliente=F.id_cliente
AND C.clnica = 'Anlisis Valencia' AND T.ao = year (TODAY)
GROUP BY T.dia, CL.dni, CL.nombre, F.factura, F.importe
4. Diseo de un almacn de datos
241
Observar que el atributo factura de la tabla de hechos determina
funcionalmente a id_cliente, id_fecha e id_clnica, es decir una factura
corresponde a un cliente y ha sido realizada en una fecha y en una clnica
determinada.
Solucin 2
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
id_cliente
id_fecha
id_clinica
factura
id_diag
importe






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
242
id_cliente
id_fecha
id_clinica
id_diag
factura
importe
factor






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
Se puede incluir tambin un atributo que represente el porcentaje del diagnstico
en la factura o el importe del diagnstico: medidas al nivel de la granularidad del
esquema en estrella.
Solucin 2
Diseo de hechos: relaciones M:M entre la tabla de hechos y una
dimensin
4. Diseo de un almacn de datos
243
2005
Resonancia
factura
importe
factor
Ciudad
Regin
Nombre
DNI
Tipo_cliente
Da
Mes
Da de la
semana
Diagnstico
Descripcin
Departamento
Tipo_diag
Ao
OLAP
Trimestre
Ciudad
Regin
Nombre
Clnica
Tipo_clinica
Importe total obtenido por pruebas del
departamento de "Resonancia" , este ao
por diagnstico.
importe factor
4. Diseo de un almacn de datos
244
SELECT D.diagnstico, SUM (importe factor)
FROM Facturas F, Tiempo T, Diagnstico D
WHERE F.id_diag = D.id_diag AND F.id_fecha = T.id_fecha
AND D.departamento = 'Resonancia' AND T.ao = year (TODAY)
GROUP BY D.diagnstico
4. Diseo de un almacn de datos
id_cliente
id_fecha
id_clinica
id_diag
factura
importe
factor






Facturas
Cliente


1
1
1
1
N
N
N
N
Tiempo
Clnica
Diagnstico
245
id_cliente
id_fecha
id_clinica
id_grupo
importe






Facturas
Cliente
id_grupo
id_diag
importe
1
1
1
N
N
N
N
1
Tiempo
Clnica
Grupo_diag
id_diag
desc

Diagnstico
1
N
La tabla Grupo_diag es realmente una tabla de hechos
degenerada: contiene informacin sobre la facturacin a
los clientes a nivel de diagnstico.
Diseo de hechos: tablas de hechos degeneradas.
4. Diseo de un almacn de datos
246
id_cliente
id_fecha
id_clinica
id_grupo
importe






Facturas
Cliente
id_grupo
id_diag
importe
1
1
1
N
1
Tiempo
Clnica
Grupo_diag
id_diag
desc

Diagnstico
1
N
La tabla Grupo_diag es realmente una tabla de hechos de un esquema
en estrella cuyas dimensiones son Diagnstico y Facturas.
Diseo de hechos: tablas de hechos degeneradas.
4. Diseo de un almacn de datos
247
id_cliente
id_fecha
id_clinica
id_grupo
importe






Facturas
Cliente
id_grupo
id_diag
importe
1
1
1
N
N
N
N
1
Tiempo
Clnica
Grupo_diag
id_diag
desc

Diagnstico
1
N
La tabla Grupo_diag es realmente una tabla de hechos de un esquema
en estrella cuyas dimensiones son Diagnstico e indirectamente (a
travs de Facturas) Tiempo, Cliente y Clnica.
Diseo de hechos: tablas de hechos degeneradas.
4. Diseo de un almacn de datos
248
Consideraciones en el diseo de almacenes
de datos.
Otras consideraciones:
dimensiones que cambian
definicin de agregados.
4. Diseo de un almacn de datos
249
Orientaciones de diseo:
dimensiones que cambian.
Ejemplo: En un A.D existe la dimensin CLIENTE. En la tabla
correspondiente un registro representa la informacin sobre el cliente
Mara Garca cuyo estado civil cambia el 15-01-1994 de soltera a
casada. El estado civil del cliente es utilizado con frecuencia en el
anlisis de la informacin.
Se considera relevante el caso en que, en el mundo real, para un
valor de una dimensin, cambia el valor de un atributo que es
significativo para el anlisis sin cambiar el valor de su clave.
4. Diseo de un almacn de datos
250
Existen tres estrategias para el tratamiento de los
cambios en las dimensiones:
Tipo 1: Realizar la modificacin.
Tipo 2: Crear un nuevo registro.
Tipo 3: Crear un nuevo atributo.
4. Diseo de un almacn de datos
251
Orientaciones de diseo:
dimensiones que cambian.
Tipo 1: Realizar la modificacin.
estrategia mas fcil de implementar.
la informacin histrica ya no es segura.
es aconsejable para:
corregir errores.
tratar cambios que no son relevantes para el anlisis (ej.
direccin del cliente, nombre del cliente, ...).
4. Diseo de un almacn de datos
252
Orientaciones de diseo: dimensiones que cambian.
Tipo 2: Crear un nuevo registro con los nuevos valores.
a partir de ese momento existen en el A.D varias versiones de un
mismo objeto del mundo real (cliente).
es necesario crear un nuevo valor para la clave (generalizacin de
la clave original o generacin de un nuevo valor).
implica una particin de la tabla de hechos en subconjuntos de
tuplas asociados a cada versin del objeto.
el usuario no puede relacionar la informacin sobre las distintas
versiones del objeto (en la prctica son dos objetos distintos).
el usuario puede reconstruir la historia del objeto a partir de otros
atributos que no cambien de valor, como la clave del operacional
(dni, nss, ..).
es responsabilidad del S.G.A.D saber cul es la ltima versin del
objeto para asociarle los nuevos hechos que llegan al A.D.
4. Diseo de un almacn de datos
253
Generalizacin de la clave original: cuando la clave de la
dimensin coincide con una clave del sistema operacional
(clave con significado). La solucin mas usual es aadir a la
clave original uno o dos dgitos de versin para contemplar los
sucesivos cambios.
Generacin de un nuevo valor para la clave: cuando los valores
de la clave son generados artificialmente (clave sin significado).
4. Diseo de un almacn de datos
254
nro_cliente dni nombre civil .......
123 1876543 Mara Garca Soltera ......
....
1231 1876543 Mara Garca Casada ......
.....
1232 1876543 Mara Garca Divorciada ....
CLIENTE
nro_cliente id_poliza id_fecha
123 1 12/12/01
....
1231 35 13/01/02
...
1232 359 11/04/02
....
el cliente de nro_cliente 123 realiza una pliza (1) en la fecha 12/12/01
el cliente de nro_cliente 1231 realiza una pliza (35) en la fecha 13/01/02
el cliente de nro_cliente 1232 realiza una pliza (359) en la fecha 11/04/02
dgito de versin
Cliente
Pliza
Tiempo
4. Diseo de un almacn de datos
255
Orientaciones de diseo: dimensiones que cambian.
Tipo 3: Crear un nuevo atributo.
se mantiene el atributo original con su valor y se crea
un nuevo atributo con el valor actual y un atributo para
indicar la fecha del cambio
la particin en las tuplas asociadas de la tabla de
hechos se realiza utilizando la fecha del cambio
slo se conservan dos valores: el valor original y el
valor actual (se pierden los valores intermedios).
permite considerar la historia completa del objeto
(independientemente del valor del atributo) o considerar
la historia dividida en dos periodos (anterior y posterior
a la fecha de cambio).

...
atributo_original
atributo_actual
fecha_cambio
...
Dimensin
4. Diseo de un almacn de datos
256
Definicin de agregados.
En un almacn de datos es usual consultar
informacin agregada!
Ejemplos:
ventas por almacn, da y categora de producto
ventas por ciudad, da y producto
ventas por ciudad, mes y producto
ventas por ciudad, da y categora de producto
El almacenamiento de datos agregados por distintos criterios de
agregacin mejora la eficiencia del AD.
4. Diseo de un almacn de datos
257
Definicin de agregados.
Estrategias de almacenamiento de datos agregados:
Estrategia 1: definir nuevas tablas de hechos y de
dimensiones para almacenar la informacin agregada y la
descripcin de los niveles de agregacin. (definir un nuevo
esquema en estrella).
Estrategia 2: insertar en las tabla de hechos y en las
tablas de dimensiones del esquema, tuplas que
representan respectivamente la informacin agregada y los
niveles de agregacin.
4. Diseo de un almacn de datos
258
Definicin de agregados.
Estrategia 1: definir nuevas tablas de hechos y de dimensiones
(nuevos esquemas en estrella).
Si se desea poder almacenar informacin agregada por categoras, ciudades y
meses, se necesitarn tres "nuevas tablas de dimensiones" (CATEGORA,
CIUDAD y MES) y tantas nuevas tablas de hechos como tipos distintos de
agregacin se desee realizar combinando estos tres criterios de agregacin y las
tres dimensiones bsicas. Por ejemplo:
ventas por categora, da y almacn
ventas por producto, mes y almacn
ventas por producto, da y ciudad
ventas por categora, mes y almacn
ventas por categora, da y ciudad
ventas por producto, mes y ciudad
ventas por categora, mes y ciudad.
4. Diseo de un almacn de datos
259
Definicin de agregados.
Estrategia 1: definir nuevas tablas de hechos y de dimensiones.
id_categora
categora
departamento id_mes
mes
ao
id_ciudad
regin
pas
Categora
Ciudad
Mes
Nuevas tablas de dimensiones
4. Diseo de un almacn de datos
260
Definicin de agregados.
Estrategia 1: definir nuevas tablas de hechos y de dimensiones.
id_fecha
id_categora
id_almacn
importe
unidades
nro_clientes
Ventas-
categora
id_almacn
nro_almacn
nombre
direccin
distrito
ciudad
pas
...
Almacn
id_fecha
da
semana
mes
ao
....
Tiempo
id_categora
categora
departamento
Categora
Nueva tabla
de hechos
Nuevo esquema
en estrella
4. Diseo de un almacn de datos
261
Definicin de agregados.
Estrategia 1: definir nuevas tablas de hechos y de dimensiones.
La creacin de "tablas de dimensiones de agregacin" exige la
definicin de claves artificiales para identificar todos los valores
posibles para cada criterio de agregacin considerado (id_categora,
id_ciudad, id_mes)
4. Diseo de un almacn de datos
262
Definicin de agregados.
Estrategia 1: definir nuevas tablas de hechos y de dimensiones.
La definicin de tablas de agregacin por cualquier
criterio no siempre tiene sentido.
La definicin de la tabla agregada Ventas-categora
aconseja no definir tambin la tabla agregada de Ventas-
departamento, ya que sta ltima es fcilmente calculable
a partir de la primera.
4. Diseo de un almacn de datos
263
Definicin de agregados.
Estrategia 2: insertar nuevas tuplas en la tabla de hechos y
en las tablas de dimensiones.
id_echa
id_producto
id_almacn
importe
unidades
nro_clientes
Ventas
id_almacn
nro_almacn
nombre
direccin
distrito
id_fecha
da
semana
mes
ao
Tiempo
Nuevo atributo para indicar
el nivel de agregacin
representado por la tupla
id_producto
nro_producto
nivel_agregacin
descripcin
marca
subcategora
categora
departamento
...
Producto
Almacn
4. Diseo de un almacn de datos
264
Definicin de agregados.
Estrategia 2: insertar nuevas tuplas en la tabla de hechos y
en las tablas de dimensiones.
id_producto
nro_producto
nivel_agregacin
descripcin
marca
subcategora
categora
departamento
...
Producto
Valores del atributo nivel_agregacin: base,
categora, departamento, todos, ...
(contemplando la definicin de agregados a
distintos niveles de agregacin en la
dimensin producto)
4. Diseo de un almacn de datos
265
Estrategia 2: insertar nuevas tuplas en la tabla de hechos y en las
tablas de dimensiones.
id_fecha id_producto id_almacn importe unidades nro_clientes
....
12 145 28 50000 100 18
12 23 23 2000 4 2
1 13 23 600000 340 90
....
Ventas
id_prod nivel_agreg ... categora ... depto ... tipo_envase
.....
23 base refresco bebidas cristal
145 categora servilleta droguera NULL
13 departamento NULL bebidas NULL
......
Producto
tuplas de agregacin
4. Diseo de un almacn de datos
266
Estrategia 2: insertar nuevas tuplas en la tabla de hechos y en las
tablas de dimensiones.
La estrategia 2, exige que en las consultas se controle el
valor del atributo nivel_agregacin: todas las tuplas
seleccionadas al evaluar una restriccin sobre la dimensin
deben tener el mismo valor en el atributo nivel_agregacin.
En la estrategia 2, las claves nuevas definidas para
representar los niveles de agregacin deben ser compatibles
con las claves de las dimensiones originales.
4. Diseo de un almacn de datos
Definicin de agregados.
267
la estrategia 2 puede plantear el problema del doble conteo en
la evaluacin de restricciones sobre una dimensin: considerar en
una agregacin tuplas de niveles distintos (ej. del nivel bsico y de
otro nivel de agregacin).
id_producto
nro_producto
nivel_agregacin
descripcin
marca
subcategora
categora
departamento
...
Producto
Una restriccin sobre la dimensin
Producto que incluya la condicin
Categora=Papel y que no controle el valor
del atributo nivel_agregacin, recuperara
tuplas correspondientes a productos
bsicos de la categora Papel y la tupla de
nivel de agregacin categora
correspondiente a la categora Papel.
4. Diseo de un almacn de datos
Estrategia 2: insertar nuevas tuplas en la tabla de hechos y en las
tablas de dimensiones.
Definicin de agregados.
268
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
Implementacin
Definicin del esquema
ROLAP o MOLAP
Carga del AD
Preparacin de las
vistas de usuario
(herramienta OLAP)
4. Diseo de un almacn de datos
269
Implementacin
Definicin del esquema
ROLAP o MOLAP
Carga del AD
Preparacin de las
vistas de usuario
(herramienta OLAP)
Proceso de transformacin:
filtrado de datos
consolidacin de datos
agregacin de datos
4. Diseo de un almacn de datos
270
1. Introduccin a los almacenes de datos: motivacin
definicin y caractersticas.
2. Arquitectura de un sistema de almacn de datos.
3. Explotacin de un almacn de datos: herramientas OLAP.
4. Diseo de un almacn de datos.
5. Sistemas ROLAP y MOLAP.
6. Mantenimiento de un almacn de datos.
Almacenes de datos (Data Warehouse)
271
5. Sistemas ROLAP y MOLAP.
Sistemas ROLAP:
El almacn de datos se construye sobre un
SGBD Relacional.
Los fabricantes de SGBD relaciones ofrecen
extensiones y herramientas para poder utilizar el
SGBDR como un Sistema Gestor de Almacenes
de Datos.
272
Sistemas ROLAP.
Extensiones de los SGBD relacionales:
ndices de mapa de bits
ndices de JOIN
tcnicas de particionamiento de los datos
optimizadores de consultas
extensiones del SQL
5. Sistemas ROLAP y MOLAP.
273
ndice: estructura de datos que permite el acceso a los registros
(tuplas) de un fichero (relacin) por el valor de un campo (atributo)
(campo de indizacin)
Elementos de un ndice (entradas del ndice) en BD:
valor del campo de indizacin
de una tupla
direccin de la
tupla (RID)
+
Los ndices permiten el acceso directo y el acceso ordenado a
los registros (tuplas) del fichero (relacin) por el campo (atributo)
de indizacin.
5. Sistemas ROLAP y MOLAP.
274
ndice estructura en rbol de bsqueda
rboles B
rboles B
+

rboles de bsqueda
equilibrados
de orden p
ocupacin eficiente del
espacio en los nodos
5. Sistemas ROLAP y MOLAP.
275
8 3

1 5


3
5

12

9 6

7

7 8
rbol B
+
para la secuencia de claves de entrada: 8, 5, 1, 7, 3, 12, 9, 6
Cada entrada en un nodo-hoja de un rbol B
+
consiste de un valor del
atributo de indizacin (clave) y un identificador de tupla (Row IDentifier) o
una lista de RIDs de las tuplas que tienen dicho valor.
Los nodos internos sirven para distribuir las claves que slo aparecen en
los nodos-hoja.
5. Sistemas ROLAP y MOLAP.
276
Para campos de indizacin con una cardinalidad baja los
ndices de mapa de bits ofrecen un ahorro de espacio de
almacenamiento.
cada valor del atributo de indizacin lleva asociado un
vector de bits, el isimo elemento de ese vector tiene el valor
1 si la isima tupla de la relacin tiene dicho valor en el
atributo de indizacin, sino tiene el valor 0.
los ndices de mapa de bits son ms eficientes para la
evaluacin de condiciones lgicas (NOT, AND, OR).
5. Sistemas ROLAP y MOLAP.
277
Profesor (cod_prof, nombre, sexo, categora)
varn hembra
0 1
0 1
1 0
0 1

TEU TU CEU CU
0 1 0 0
1 0 0 0
0 0 1 0
0 1 0 0

ndice-sexo
ndice-categora
vector de
bits para el
valor varn
vector de bits
para el valor
hembra
5. Sistemas ROLAP y MOLAP.
278
Profesores varones que sean catedrticos de
universidad:
0
0
1
0

0
0
0
0

AND
0
0
0
0

5. Sistemas ROLAP y MOLAP.
279
ndices de JOIN:
Una consulta OLAP selecciona tuplas de la tabla de hechos
restringidas por condiciones impuestas sobre los atributos de
las dimensiones.
El inters de la consulta no est en las tuplas de la tabla de
dimensin que cumplen la condicin de la restriccin sino en
las tuplas de la tabla de hechos que se relacionan con ellas.

Ejemplo: En el contexto de una agencia inmobiliaria: nmero de
alquileres realizados en sbado
El inters no est en las tuplas (fechas) de la tabla TIEMPO con el valor
Sbado en el atributo da de la semana sino en las tuplas de
CONTRATOS con una de dichas fechas.
5. Sistemas ROLAP y MOLAP.
280
12-12-98 12-98 lunes 4-98 1998 no
10-6-97 6-97 mircoles 2-97 1997 si
10-1-99 1-99 sbado 1-99 1999 no
12-8-98 8-98 lunes 3-98 1998 si
1-6-97 6-97 sbado 2-97 1997 no

Tiempo
..... sbado domingo
0 0
0 1
1 0
0 0
1 0

ndice-da de la semana
10-1-99
1-6-99
Claves K
5. Sistemas ROLAP y MOLAP.
281
10-1-99
1-6-99
.......
10-1-99 cl23 p45 100000
.....
1-6-99 cl45 p89 50000
.....
10-1-99 cl78 p77 65000
ndice-Tiempo
10-1-99 [-, - |

1-6-99 [- |

Contratos
Claves K
RIDs
5. Sistemas ROLAP y MOLAP.
fecha cliente inmueble
282




sbado [-, -, - |


ndice JOIN-da de
la semana
.......
10-1-99 cl23 p45 100000
.....
1-6-99 cl45 p89 50000
.....
10-1-99 cl78 p77 65000
Contratos
Los ndices de JOIN permiten evaluar consultas sobre esquemas en
estrella sin realizar joins entre la tabla de dimensiones y la tabla de
hechos.
5. Sistemas ROLAP y MOLAP.
283
Sistemas ROLAP.
Extensiones del SQL: operador CUBE.
SALES (Id_sale, maker, date, colour , ......, discount,
employee, store, units, import)
SELECT maker, year(date), colour, SUM (units)
FROM Sales
GROUP BY CUBE (Maker, Year(date), Colour)
Calcula, sobre el resultado de la consulta, todas las
agregaciones que pueden definirse sobre las tres
dimensiones (parmetros) de la consulta (color, ao,
fabricante).
5. Sistemas ROLAP y MOLAP.
284
Extensiones del SQL: operador CUBE.
RED
WHITE
BLUE
By Color
By Make & Color
By Make & Year
By Color & Year
By Make
By Year
Sum
The Data Cube and
The Sub-Space Aggregates
RED
WHITE
BLUE
Chevy Ford
By Make
By Color
Sum
Cross Tab
RED
WHITE
BLUE
By Color
Sum
Group By
(with total)
Sum
Aggregate
Jim Gray
Adam Bosworth
Andrew Layman
Microsoft
Hamid Pirahesh
IBM

5. Sistemas ROLAP y MOLAP.
285
Extensiones del SQL: operador CUBE.
RED
WHITE
BLUE
By Color
By Make & Color
By Make & Year
By Color & Year
By Make
By Year
Sum
The Data Cube and
The Sub-Space Aggregates
RED
WHITE
BLUE
Chevy Ford
By Make
By Color
Sum
Cross Tab
RED
WHITE
BLUE
By Color
Sum
Group By
(with total)
Sum
Aggregate
Cada plano cartesiano
representa la agregacin
sobre una dimensin
5. Sistemas ROLAP y MOLAP.
286
Extensiones del SQL: operador CUBE.
RED
WHITE
BLUE
By Color
By Make & Color
By Make & Year
By Color & Year
By Make
By Year
Sum
The Data Cube and
The Sub-Space Aggregates
RED
WHITE
BLUE
Chevy Ford
By Make
By Color
Sum
Cross Tab
RED
WHITE
BLUE
By Color
Sum
Group By
(with total)
Sum
Aggregate
Cada eje cartesiano
representa la agregacin
sobre dos dimensiones
5. Sistemas ROLAP y MOLAP.
287
Extensiones del SQL: operador CUBE.
RED
WHITE
BLUE
By Color
By Make & Color
By Make & Year
By Color & Year
By Make
By Year
Sum
The Data Cube and
The Sub-Space Aggregates
RED
WHITE
BLUE
Chevy Ford
By Make
By Color
Sum
Cross Tab
RED
WHITE
BLUE
By Color
Sum
Group By
(with total)
Sum
Aggregate
El origen de los ejes
representa la agregacin
sobre las tres dimensiones
5. Sistemas ROLAP y MOLAP.
288
Sistemas ROLAP.
Extensiones del SQL: operador ROLLUP.
SALES (Id_sale, maker, date, colour , ......, discount,
employee, store, units, import)
SELECT maker, year(date), colour, SUM (units)
FROM Sales
GROUP BY ROLLUP (Maker, Year(date), Colour)
Calcula sobre el resultado, agregaciones progresivas
(de derecha a izquierda) sobre los atributos de
agrupacin de la consulta.
5. Sistemas ROLAP y MOLAP.
289
Extensiones del SQL: operador ROLLUP.
Maker Year Colour SUM
(units)
Ford 1999 Red 30
Ford 1999 Blue 20
Ford 2000 Blue 15
Seat 1999 Blue 25
Seat 1999 Yellow 12
Sales (maker-year-colour)
Maker Year Colour SUM
(units)
Ford 1999 Red 30
Ford 1999 Blue 20
Ford 1999 ALL 50
Ford 2000 Blue 15
Ford 2000 ALL 15
Ford ALL ALL 65
Seat 1999 Blue 25
Seat 1999 Yellow 12
Seat 1999 ALL 37
Seat ALL ALL 37
ALL ALL ALL 102
5. Sistemas ROLAP y MOLAP.
290
Sistemas MOLAP.
Sistema de propsito especfico:
estructuras de datos (matrices multidimensionales)
tcnicas de compactacin.
El objetivo de los sistemas MOLAP es almacenar fsicamente
los datos en estructuras multidimensionales que favorezcan los
tiempos de respuesta del sistema.
5. Sistemas ROLAP y MOLAP.
291
Herramienta
OLAP
Herramienta
OLAP
Servidor
Relacional
Warehouse
MOLAP
ROLAP
Servidor
Multidimensional
5. Sistemas ROLAP y MOLAP.
292
Estructuras de datos
matrices multidimensionales (arrays)
Almacenamiento
se pierde eficiencia con matrices muy
dispersas. (con celdas vacas)
- Consultas
la memoria del computador no es
multidimensional (es lineal): en el
almacenamiento de matrices, siempre se
favorecen unas dimensiones respecto a
otras.
los tiempos de respuesta son buenos para
las consultas previstas (favorecidas por el
almacenamiento)
los tiempos de respuesta son malos para
consultas no previstas.
5. Sistemas ROLAP y MOLAP.
Herramienta
OLAP
Warehouse
MOLAP
Servidor
Multidimensional
293
Herramienta
OLAP
Herramienta
OLAP
Servidor
Relacional
Warehouse
HOLAP (MOLAP hbrido)
ROLAP
Servidor
Multidimensional
Servidor
Relacional
5. Sistemas ROLAP y MOLAP.
294
Servidor
Multidimensional
El servidor multidimensional
construye y almacena datos en
estructuras multidimensionales.
La herramienta de OLAP
presenta estas estructuras
multidimensionales al usuario.
Herramienta
OLAP
Estructuras
multidimensionales
Warehouse SGBDR
5. Sistemas ROLAP y MOLAP.
HOLAP (MOLAP hbrido)
295
Datos
matrices multidimensionales
(arrays)
extrados del almacn de datos
Almacenamiento* y procesos
eficientes**
el anlisis se suele hacer sobre
datos agregados y mtricas o
indicadores precalculados.
* se pierde eficiencia con cubos de datos muy
dispersos.
** la memoria no es multidimensional (es
lineal): siempre se favorece una dimensin
dependiendo del almacenamiento fsico del
cubo.
Servidor
Multidimensional
Herramienta
OLAP
Estructuras
multidimensionales
SGBDR
Warehouse
5. Sistemas ROLAP y MOLAP.
HOLAP (MOLAP hbrido)
296
Inconvenientes de los sistemas HOLAP
(multidimensional hbrido):
la construccin de las estructuras
multidimensionales.
el coste de los cambios en la visin de los
datos.

5. Sistemas ROLAP y MOLAP.
297
1. Introduccin a los almacenes de datos: motivacin
definicin y caractersticas.
2. Arquitectura de un sistema de almacn de datos.
3. Explotacin de un almacn de datos: herramientas OLAP.
4. Diseo de un almacn de datos.
5. Sistemas ROLAP y MOLAP.
6. Mantenimiento de un almacn de datos.
Almacenes de datos (Data Warehouse)
298
6. Mantenimiento de un almacn de datos.
El sistema encargado del mantenimiento del almacn de datos es
el Sistema E.T.L* (Extraccin - Transformacin - Load (carga))
La construccin del Sistema E.T.L es responsabilidad del equipo
de desarrollo del almacn de datos.
El Sistema E.T.L es construido especficamente para cada almacn
de datos.
En la construccin del E.T.L se pueden utilizar herramientas del
mercado o programas diseados especficamente.
Funciones del Sistema E.T.L:
carga inicial. (initial load)
mantenimiento peridico: inmediato, diario, semanal, mensual, ...
(refreshment)
* E.T.T: Extraccin Transformacin Transporte (carga)
299
Fases del proceso de E.T.L:
Extraccin
Transformacin y
Transporte (Load)
E.T.L
6. Mantenimiento de un almacn de datos.
300
E.T.L.
Correspondencia
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
Transformacin
Extraccin
Transporte
6. Mantenimiento de un almacn de datos.
301
Tareas del proceso E.T.L
Lectura de datos operacionales
Identificacin de los cambios
Limpieza y transformacin de
datos
Integracin de datos
Almacn de
Datos
Programas
Herramientas
Sistemas
Operacionales
Creacin de claves
Clculo de agregaciones.
Mantenimiento de metadata
Carga e indizacin.
Pruebas de calidad.
E.T.L
6. Mantenimiento de un almacn de datos.
302
E.T.L.
Correspondencia
Transformacin
Extraccin Transporte
Identificacin de los
datos que han cambiado
Extraccin (lectura) de
datos.
Obtencin de agregados
Mantenimiento de
metadata
Limpieza y transformacin
de datos
Integracin de datos
(clculo de datos derivados)
Creacin de claves
Obtencin de agregados
Mantenimiento de
metadata
Carga
Indizacin
Obtencin de datos
agregados.
Realizacin de pruebas
de calidad de la carga.
Gestin de errores.
Mantenimiento de
metadata
6. Mantenimiento de un almacn de datos.
303
Definir una estrategia de calidad:
actuacin sobre los sistemas operacionales: modificar
las reglas de integridad, los disparadores y las
aplicaciones de los sistemas operacionales.
documentacin de las fuentes de datos.
definicin de un proceso de transformacin.
nombramiento de un responsable de calidad del sistema
(Data Quality Manager)

La calidad de los datos es la clave del
xito de un almacn de datos.
6. Mantenimiento de un almacn de datos.
304
Correspondencia.
Correspondencia
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
6. Mantenimiento de un almacn de datos.
305
Correspondencia
definir la ley de derivacin de los datos del almacn a partir de
los datos de las fuentes operacionales.
decidir las transformaciones que se van a aplicar a los
datos (extrados) de los sistemas operacionales.
decidir las operaciones o clculos que se deben aplicar a
los datos operacionales (regla de derivacin).
File A
F1 123
F2 Bloggs
F3 10/12/56
Clientes
Nmero USA123
Nombre Mr. Bloggs
Fecha 10-Dec-56
Metadata
File A Clientes
F1 Nmero
F2 Nombre
F3 Fecha
6. Mantenimiento de un almacn de datos.
306
Fase de Extraccin.
Programas diseados para extraer los datos de las fuentes.
Herramientas: data migration tools, wrappers, ...

Correspondencia
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
Extraccin
6. Mantenimiento de un almacn de datos.
307
Ejecucin de la extraccin:
a) si los datos operacionales estn mantenidos en un SGBDR, la
extraccin de datos se puede reducir a consultas en SQL o
rutinas programadas.
b) si los datos operacionales estn en un sistema propietario (no
se conoce el formato de los datos), la extraccin puede ser muy
difcil y puede tener que realizarse a partir de informes o volcados
de datos proporcionados por los propietarios que debern ser
procesados posteriormente.
Extraccin: lectura de datos del sistema operacional.
a) durante la carga inicial .
b) mantenimiento del AD
6. Mantenimiento de un almacn de datos.
308
Identificacin de Cambios.
Identificar los datos operacionales (relevantes) que han sufrido
una modificacin desde la fecha del ltimo mantenimiento.
Mtodos
Carga total.
Comparacin de instancias de la base de datos operacional.
Uso de marcas de tiempo (time stamping) en los registros del
sistema operacional.
Uso de disparadores en el sistema operacional.
Uso del fichero de log (gestin de transacciones) del sistema
operacional.
Uso de tcnicas mixtas.
Extraccin: en el mantenimiento del AD, antes de realizar la
extraccin es preciso identificar los cambios.
6. Mantenimiento de un almacn de datos.
309
Similar a hacer en cada mantenimiento (frecuencia establecida), una
carga inicial.
Estrategia cara y costosa.
El anlisis de datos histricos est limitado a los datos cargados en
cada ciclo (disponibles en el sistema operacional).
Adecuado para data marts.
Es recomendable usar una estrategia de copias (mirrors) del AD para
evitar que el AD este desactivado durante el mantenimiento.
Identificacin de cambios: carga total.
Base de datos
operacional
Carga actual
Carga siguiente
Extraccin
Extraccin
6. Mantenimiento de un almacn de datos.
310
Comparacin
Base de
datos (t1)
Ficheros (Delta)
con los registros
modificados
Mtodo simple, pero caro.
Ficheros (Delta)
Cambios que han tenido lugar en la base de datos operacional
desde la fecha del ltimo mantenimiento.
Para poder hacer la comparacin debe conservarse en el
sistema operacional una copia de los datos en la fecha del ltimo
mantenimiento.
Identificacin de cambios: comparacin de instancias.
Base de
datos (t2)
6. Mantenimiento de un almacn de datos.
311
Bsqueda rpida de los registros modificados desde el
ltimo mantenimiento.
Deben existir marcas de tiempo en la base de datos
operacional: cambiar aplicaciones o utilizar disparadores.
Atencin con los borrados!
Identificacin de cambios: uso de marcas de tiempo.
Base de datos
operacional
Ficheros (Delta)
con los registros
modificados
6. Mantenimiento de un almacn de datos.
312
Los cambios son capturados durante el funcionamiento del sistema
operacional
Sobrecarga del sistema operacional.
La accin de los disparadores actualiza el fichero (Delta) con los
registros modificados.
SGBDR
Disparadores en BD operacional
Trigger
Trigger
Trigger
Identificacin de cambios: uso de disparadores.
Base de datos
operacional
Ficheros (Delta)
con los registros
modificados
6. Mantenimiento de un almacn de datos.
313
Identificacin de cambios: uso de ficheros de log.
Fichero de log
Anlisis del fichero
de log y extraccin
SGBDR
(mdulo de
recuperacin)
Base de datos
operacional
Ficheros (Delta)
con los registros
modificados
Si el sistema operacional dispone de un sistema de gestin de
transacciones con fichero de log (diario): un programa (bastante complejo)
debe procesar el contenido de los ficheros de log para determinar los
cambios producidos en la BD desde el ltimo mantenimiento (simulando
al propio mdulo de recuperacin del sistema transaccional).
(Esta estrategia tiene sentido si en el AD se almacena informacin a nivel
transaccional).
6. Mantenimiento de un almacn de datos.
314
Fase de transformacin.
Limpieza
Transformacin de datos
Integracin
Correspondencia
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
Transformacin
6. Mantenimiento de un almacn de datos.
315
En los datos operacionales existen errores debidos a:
desarrollos independientes a lo largo del tiempo,
fuentes heterogneas de datos,
problemas en la fase de extraccin, ...
12M65431
12-m-65421
12m65421
12m65421

12M65431
12M65431
12-m-65421
12m65421
12m65421

12M65431
12
12
12
M
m
m
65431
65421
65421
12
12
M
M
65431
65421
6. Mantenimiento de un almacn de datos.
Registros de
las fuentes
Eliminacin de
duplicados y de
registros con
datos faltantes
Unificacin de
codificacin
12M65431
12-m-65421
12m65421
Transformacin
de formato
12
12
12
M
M
M
65431
65421
65421
Eliminacin de
duplicados
Fase de transformacin.
316
Limpieza:
- eliminar datos irrelevantes,
- eliminar datos duplicados,
- detectar y corregir o eliminar datos errneos,
- detectar y tratar valores anmalos (outliers values),
- detectar y tratar valores faltantes (missing values), ...
Correspondencia
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
Transformacin
6. Mantenimiento de un almacn de datos.
Fase de transformacin.
317
Valores duplicados: deben ser eliminados.
SQL
restricciones de integridad
ACME Inc
ACME Inc
ACME Inc ACME Inc
6. Mantenimiento de un almacn de datos.
Limpieza
Fase de transformacin.
318
Deteccin de valores nulos (missing values): se deben detectar los
valores nulos y analizar su causa (error en la extraccin, desconocimiento
de la informacin, ...)
Tratamiento de valores nulos: los valores nulos son vlidos si estn
permitidos en el AD (son significativos), sino son equivalentes a valores
desconocidos.
Tratamiento de valores desconocidos:
ignorar los registros.
congelar la extraccin de los registros hasta que se puedan obtener los
datos desconocidos.
If NULL then
campo = A
A
6. Mantenimiento de un almacn de datos.
Limpieza
Fase de transformacin.
319
Deteccin de datos anmalos (outliers values): valores que no se
ajustan al comportamiento general de los datos.
Tratamiento de valores anmalos:
analizar si son errores o excepciones
los valores errneos deben ser eliminados
las excepciones pueden interesar para algunos estudios: uso
fraudulento de tarjetas, prediccin de innundaciones, ...
6. Mantenimiento de un almacn de datos.
Limpieza
Fase de transformacin.
320
Fase de transformacin.
Deteccin y tratamiento de datos errneos: la integridad
referencial debe reconstruirse.
Departamento
10
20
30
40
Emp Nombre Departamento
1099 Smith 10
1289 Jones 20
1234 Doe 50
6786 Harris 60
6. Mantenimiento de un almacn de datos.
Limpieza.
321
Transformacin de datos:
- discretizacin,
- numerizacin,
- codificacin,
- unificacin,
- estandarizacin, ...
Correspondencia
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
Transformacin
6. Mantenimiento de un almacn de datos.
Fase de transformacin.
322
Claves con estructura: descomponer en valores atmicos
cdigo
del pas
zona de
ventas
nmero de
producto
cdigo de
vendedor
Cdigo de producto = 12M65431345
6. Mantenimiento de un almacn de datos.
Transformacin de datos
Fase de transformacin.
323
Discretizar datos: transformar valores continuos en valores
discretos o nominales.









(Deben detectarse los valores errneos).
pequeo
0-3
0
6. Mantenimiento de un almacn de datos.
Fase de transformacin.
mediano grande
4-7 8-10
3 4 7 8 10
...
... ...
Transformacin de datos
324
Numerizar datos: transformar valores nominales en valores
numricos (enteros).
6. Mantenimiento de un almacn de datos.
Fase de transformacin.
administrativo
revisor
1
conductor
mecnico
controlador
...
2
3
4
5
...
Transformacin de datos
325
Unificacin: unificar codificaciones








(Deben detectarse los valores errneos).
v , h
1 , 0
varn, hembra
v, h
6. Mantenimiento de un almacn de datos.
Fase de transformacin.
Transformacin de datos
326
Fase de transformacin.
Unificacin: unidades de medida, unidades de tiempo,
unidades de moneda,...
cm
inches
cm
DD/MM/YY
MM/DD/YY
DD-Mon-YY
1,000 GBP
FF 9,990
USD 600
6. Mantenimiento de un almacn de datos.
Transformacin de datos
327
Unificacin: formato de los datos.
ASCII
EBCDIC
12373
123-73
ACME Co.
Beer (Pack of 8)
6. Mantenimiento de un almacn de datos.
Fase de transformacin.
Transformacin de datos
328
Fase de transformacin.
- Integracin: aplicar las leyes de derivacin para calcular los datos
derivados.
Correspondencia
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
Transformacin
6. Mantenimiento de un almacn de datos.
329
Transformacin. Creacin de claves.
#1 Venta 1/2/98 12:00:01 Ham Pizza $10.00
#2 Venta 1/2/98 12:00:02 Cheese Pizza $15.00
#3 Venta 1/2/98 12:00:02 Anchovy Pizza $12.00
#5 Venta 1/2/98 12:00:04 Sausage Pizza $11.00
#4 Devolucin 1/2/98 12:00:03 Anchovy Pizza - $12.00
#dw1 Venta 1/2/98 12:00:01 Ham Pizza $10.00
#dw2 Venta 1/2/98 12:00:02 Cheese Pizza $15.00
#dw3 Venta 1/2/98 12:00:04 Sausage Pizza $11.00
Claves sin significado
6. Mantenimiento de un almacn de datos.
330
Fase de transformacin.
Integracin de datos de distintas fuentes:
Bases de datos
operacionales
SELECT
PROJECT
JOIN
GROUP, ....
Almacenamiento
intermedio
6. Mantenimiento de un almacn de datos.
331
Fase de transformacin.
Integracin de datos de distintas fuentes.
Clculo de nuevos datos
Bases de datos
operacionales
Clculo de nuevos
datos:
Datos agregados
Datos calculados
Almacenamiento
intermedio
6. Mantenimiento de un almacn de datos.
Integracin de
datos:
SELECT
PROJECT
JOIN
GROUP, ....
332
Fase de transporte.
Correspondencia
Transporte
Bases de datos
operacionales
Almacenamiento
intermedio
Almacn de
datos
Transporte
Cuando la Transformacin
se realiza en el sistema
operacional o en el AD.
6. Mantenimiento de un almacn de datos.
333
Fase de transporte. (carga)
La fase de transporte consiste en mover los datos desde las
fuentes operacionales o el almacenamiento intermedio hasta el
almacn de datos y cargar los datos en las correspondientes
estructuras de datos.
La carga puede consumir mucho tiempo
En la carga inicial del AD se mueven grandes volmenes de
datos.
En los mantenimientos peridicos del AD se mueven pequeos
volmenes de datos.
La frecuencia del mantenimiento peridico est determinada
por el grnulo del AD y los requisitos de los usuarios.
6. Mantenimiento de un almacn de datos.
334
Fase de transporte. Creacin y mantenimiento de un AD.
Crear el AD (base de datos)
En intervalos de tiempo fijos aadir cambios al AD
Ocasionalmente archivar o eliminar datos obsoletos que ya
no interesan para el anlisis.
T1 T2 T3
Base de datos
operacional
6. Mantenimiento de un almacn de datos.
335
Fase de transporte. Carga inicial.
Carga del AD con informacin histrica.
Afecta a grandes volmenes de datos.(3 aos, 5 aos, ...)
Significa la realizacin de distintas tareas del E.T.L
Significa la realizacin de numerosas operaciones despus
de la carga. (indizacin, clculo de agregados, ...)
T1 T2 T3
Base de datos
operacional
6. Mantenimiento de un almacn de datos.
336
Fase de transporte. Mantenimiento peridico.
Se realiza de acuerdo a un ciclo previamente definido.
(semanal, mensual,..)
Implica tareas de E.T.L ms sencillas.
Afecta a un volumen de datos menor.(tabla de hechos y
excepcionalmente tablas de dimensiones).
Implica un menor nmero de operaciones posteriores a la
carga.
T1 T2 T3
Base de datos
operacional
6. Mantenimiento de un almacn de datos.
337
Fase de transporte. Mantenimiento peridico.
(factores relevantes)
Horario en el que el AD est disponible para el
mantenimiento (load window).
Volumen de datos.
Frecuencia (ciclo).
Infraestructura tcnica.
T1 T2 T3
Base de datos
operacional
6. Mantenimiento de un almacn de datos.
338
Load Window: tiempo disponible para el transporte y
los procesos posteriores.

determinar primero los requisitos de acceso de los
usuarios.
0 3 am 6 9 12 pm 3 6 9 12
Acceso de usuarios Load Window Load Window
6. Mantenimiento de un almacn de datos.
339
Procesos posteriores a la carga.
Browser:
http://
Hollywood
Browser:
http://
Hollywood
Browser:
http://
Hollywood
Exraccin
Transformacin
Transporte
Procesos
posteriores a
la carga
Agregados
Indizacin
6. Mantenimiento de un almacn de datos.
340
Procesos posteriores a la carga: indizacin.
Durante la carga:
carga con el ndice habilitado
proceso tupla a tupla. (lento)
Despus de la carga:
carga con el ndice deshabilitado
creacin del ndice (total o parcial). (rpido)
Index
Almacn de
datos
Base de datos
operacional
6. Mantenimiento de un almacn de datos.
341
Procesos posteriores a la carga: obtencin de
agregados.
Durante la extraccin.
Despus de la carga (transporte).
Base de datos
operacional
Almacenamiento
intermedio
Almacn de
datos
Transporte
Extraccin
6. Mantenimiento de un almacn de datos.
342
Ejemplo: diseo de un almacn de datos para una
empresa que se dedica al alquiler de inmuebles y
locales.
343
Descripcin de la organizacin:
la empresa trabaja a travs de oficinas repartidas por la
geografa nacional.
cada oficina dispone de una base de datos para su
gestin.
las bases de datos almacenan informacin actual e
histrica.
existen tres actividades bsicas que realiza cada
oficina: inspeccin de inmuebles, visitas a los inmuebles
con los clientes y realizacin de contratos de alquiler.

Ejemplo
344
Notas:
Un inmueble o local puede ser inspeccionado varias veces al da
por el mismo o distintos empleados.
Un inmueble o local puede ser mostrado a un cliente varias veces
al da, por el mismo o distintos empleados.
Un inmueble o local no se puede alquilar mas de una vez al da al
mismo cliente.
Un cliente puede estar dado de alta en varias oficinas.
Un inmueble o local puede estar dado de alta en varias oficinas.
Ejemplo
345
Diseo fsico
Diseo lgico especfico
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
Anlisis
Descripcin del
sistema de
informacin de la
organizacin
Requisitos de
usuario
Esquema
Entidad-Relacin
Ejemplo
346
Revisa
N
Inspeccin
1
Es revisado
N
1
nro
fecha
valor
Inmueble
Propietario
Es dueo
1
N
dni
nombre
tipo
ciudad
direc
nro_prop
tipo
direc
ciudad
precio
fecha_alta
fecha_baja
Es visitado
Cita
nro_cita
Visita
N
N
1
fecha
Ensea
1
N
valor
1
Empleado
nro_emp
nombre
dni
1
Es alquilado Alquila
N
N
Contrato
nro_contrato
fecha_inicio
precio fecha_fin
1
Cliente
ciudad
dni
nombre
fecha_alta
tipo
direc
fecha_baja
nro_cliente
fecha
347
nro_contrato


nro_cliente
nro_prop
fecha
fecha_inicio
fecha_fin


mensualidad
nro_prop
fecha_alta
fecha_baja
direc
ciudad
precio
tipo
propietario
nro_cliente
dni
nombre
fecha_alta
fecha_baja
tipo
direc
ciudad_cliente
dni
direc
ciudad_prop
nombre
tipo
nro_cita


nro_emp
nro_prop
nro_cliente


fecha


valor
nro_emp
nombre
dni
Contratos
Clientes
Inmuebles
Visitas
Propietario
nro


nro_emp
nro_prop


fecha


valor
Inspecciones
Empleados
Base de Datos (relacional)
de cada oficina
Ejemplo
348
Si se quiere integrar toda la informacin de la
organizacin (oficinas), hace falta incluir la entidad
OFICINA, con sus propiedades y relaciones con otras
entidades.
Ejemplo
349
Revisa
N
Inspeccin
1
Es revisado
N
1
nro
fecha
valor
Oficina
nro_oficina
direc
ciudad
Oferta
N
N
Inmueble
Propietario
Es dueo
1
N
dni
nombre
tipo
ciudad
direc
nro_prop
tipo
direc
ciudad
precio
fecha_alta
fecha_baja
Es visitado
Cita
nro_cita
Visita
N
N
1
fecha
Ensea
1
N
valor
1
1
Asignado
N
Empleado
nro_emp
nombre
dni
1
Es alquilado Alquila
N
N
Contrato
nro_contrato
fecha_inicio
precio fecha_fin
1
Cliente
N
Pertenece
N
ciudad
dni
nombre
fecha_alta
tipo
direc
fecha_baja
nro_cliente
Hace
N
1
fecha_
350
Revisa
N
Inspeccin
1
Es revisado
N
1
nro
fecha
valor
Oficina
nro_oficina
direc
ciudad
Oferta
N
N
Inmueble
Propietario
Es dueo
1
N
dni
nombre
tipo
ciudad
direc
nro_prop
tipo
direc
ciudad
precio
fecha_alta
fecha_baja
Es visitado
Cita
nro_cita
Visita
N
N
1
fecha
Ensea
1
N
valor
1
1
Asignado
N
Empleado
nro_emp
nombre
dni
1
Es alquilado Alquila
N
N
Contrato
nro_contrato
fecha_inicio
precio fecha_fin
1
Cliente
N
Pertenece
N
ciudad
dni
nombre
fecha_alta
tipo
direc
fecha_baja
nro_cliente
Hace
N
1
fecha_
351
Requisitos de los usuarios:
Inspecciones: No interesa analizar la actividad de
inspecciones.
Contratos: Interesa analizar los contratos realizados por fecha,
inmueble (ciudad y tipo del inmueble), oficina (ciudad de la
oficina) que hace el contrato y cliente (tipo de cliente).
Visitas: Interesa analizar las visitas realizadas por fecha,
inmueble (ciudad del inmueble), cliente (tipo de cliente), y oficina
(ciudad de la oficina) que realiza la visita.
Ejemplo
352
Ejemplos de consultas para el AD:
a) sobre los clientes
- el nmero de clientes que se han registrado el ltimo mes en
cada oficina comparados con los del mismo mes de los dos
ltimos aos.
- el nmero previsible de clientes que se registrar en cada
ciudad durante el prximo ao basndose en el ndice de
crecimiento de los ltimos cinco aos.
b) sobre los contratos
- para cada oficina, la media en los ltimos seis meses del
nmero de inmuebles alquilados mensualmente con un precio
mensual mayor que 100.000 ptas.
- el nmero total de inmuebles visitados clasificados por tipos,
para cada mes de 1997.
Ejemplo
353
Diseo fsico
Diseo lgico refinado
Implementacin
Diseo conceptual
Recogida y anlisis de
requisitos
Diseo
Modelado
multidimensional (MR)
Esquemas
estrella
Ejemplo
354
El almacn de datos debe ser diseado para responder a preguntas
(no previstas) relativas a las actividades bsicas de la organizacin
analizadas desde distintos puntos de vista:
visitas de clientes a los inmuebles ofertados
realizacin de contratos de alquiler sobre los inmuebles
Para cada actividad bsica (visitas, contratos) existe en la base de
datos operacional una informacin bsica objeto de anlisis (fecha y
valoracin de la cita, fecha y precio del contrato) y unas dimensiones
respecto a las cuales interesa realizar el anlisis (caractersticas de los
inmuebles, de los clientes y de las oficinas).
Ejemplo
355
a) para cada actividad de la organizacin que es objeto de anlisis
(visitas, contratos) se disear un esquema en estrella o en copo de
nieve :
definir la tabla de hechos con la informacin relevante (medidas)
sobre la actividad a analizar.
definir las tablas de dimensiones con las propiedades relevantes
de cada una de las dimensiones (atributos) que caracterizan la
actividad
establecer las correspondientes claves ajenas
b) integrar las vistas parciales en un nico esquema: esquema del
almacn de datos
c) traducir a un esquema ROLAP o MOLAP segn la tecnologa
disponible.
d) realizar el diseo fsico
Diseo:
Ejemplo
356
Cliente Alquila
N
Contrato
1
N
nro_contrato
Es alquilado
Inmueble
1
fecha_inicio
id_cliente
id_prop
Id_fecha
id_oficina
fecha_inicio
fecha_fin
mensualidad
id_prop
nro_prop
ciudad_inmueble
tipo_inmueble
id_cliente
nro_cliente
dni
tipo_cliente
ciudad_cliente
precio
esquema estrella
para el anlisis de
contratos
fecha_fin
Oficina Hace
1
N
id_oficina
nro_oficina
ciudad_oficina
Ejemplo
id_fecha
.
fecha_
357
Cliente Visita
N
Cita
1
N
nro_cita
Es visitado
Inmueble
1
fecha
id_cliente
id_prop
id_oficina
Id_fecha
nro _ visitas
id_prop
nro_prop
ciudad_inmueble
tipo_inmueble
id_cliente
nro_cliente
dni
tipo_cliente
ciudad_cliente
Empleado Ensea
N
1
id_oficina
nro_oficina
ciudad_oficina
valor
esquema estrella
para el anlisis de
visitas
1
Asignado
N
Oficina
Ejemplo
id_fecha
.
358
Si se desea incluir informacin
sobre el propietario del inmueble
:esquema copo de nieve para el
anlisis de contratos
id_propietario
dni
ciudad_propietario
tipo_propietario
id_cliente
id_prop
Id_fecha
id_oficina
fecha_inicio
fecha_fin
mensualidad
id_prop
nro_prop
ciudad_inmueble
tipo_inmueble
id_propietario
id_cliente
nro_cliente
dni
tipo_cliente
ciudad_cliente
id_oficina
nro_oficina
ciudad_oficina
Ejemplo
id_fecha
.
359
Decisiones de diseo del almacn de datos:
se han ignorado la informacin sobre algunas actividades
(inspecciones).
se ha eliminado alguna informacin (empleado, nombre de
cliente, fecha de alta de un inmueble, etc) que no es
relevante para el anlisis.
se han creado nuevas entidades de informacin (oficina).
se ha decidido mantener el mismo nivel de detalle
(granularidad) que en la base de datos operacional para la
actividad de contratos.
se ha decidido registrar la informacin relativa a visitas con
una granularidad mayor que en el operacional (no se
considera relevante la informacin sobre el empleado que
hace la visita sino sobre las visitas realizadas por la oficina).
Ejemplo
360
cita
propiedad
cliente
oficina
esquema del almacn
de datos
contratos
integracin de las vistas
Ejemplo
tiempo
361
id_cliente
id_prop
id_fecha
id_oficina
fecha_inicio
fecha_fin


mensualidad
id_prop
nro_prop
ciudad_inmueble
tipo_inmueble
id_cliente
nro_cliente
dni
tipo_cliente
ciudad_cliente
id_oficina
id_prop
id_cliente
Id_fecha


nro_visitas
Contratos
Clientes
Inmuebles
Visitas
id_oficina
nro_oficina

ciudad_oficina
Oficinas
Base de Datos (relacional)
del Almacn de Datos
(ROLAP)
Ejemplo
id_fecha
.
Tiempo
362
Orientaciones de diseo: desnormalizar
si las consultas sobre contratos
estn restringidas por atributos
relativos a su propietario!
id_propietario
dni
ciudad_propietario
tipo_propietario
id_cliente
id_prop
Id_fecha
id_oficina
fecha_inicio
fecha_fin
mensualidad
id_prop
nro_prop
ciudad_inmueble
tipo_inmueble
id_propietario
id_cliente
nro_cliente
dni
tipo_cliente
ciudad_cliente
id_oficina
nro_ofocina
ciudad_oficina
Si se desea incluir informacin
sobre el propietario del inmueble
:esquema copo de nieve para el
anlisis de contratos
Ejemplo
id_fecha
.
363
Orientaciones de diseo: desnormalizar
las jerarquas entre dimensiones se desnormalizan !
3FN
esquema en estrella
esquema en copo de nieve
id_cliente
id_prop
fecha_inicio
id_oficina
id_fecha
fecha_inicio
fecha_fin
mensualidad
id_prop
nro_prop
ciudad_inmueble
tipo_inmueble
dni
ciudad_propietario
tipo_propietario
id_cliente
nro_cliente
dni
tipo_cliente
ciudad_cliente
id_oficina
nro_oficina
ciudad_oficina
Ejemplo
id_fecha
.

You might also like