Modelado dimensional
Hugo M. Castro
Modelo de datos

En los sistemas transaccionales





Modelo de entidad-relación
Protección de integridad
Altas-bajas-modificaciones
Eficiencia en los procesos
En los sistemas de soporte a la decisión

Modelo dimensional
Modelado dimensional
Variables del negocio
 Medidas



Valores numéricos
Sumas, consolidaciones, operaciones
aritméticas
Dimensiones


Textuales
Filtros
Modelo dimensional
Diferencias
El modelo de datos dimensional es lo que
hace que un Data Warehouse sea una
base de datos orientada al negocio
Diseñamos el Data
Warehouse




Elegimos el proceso de negocios que vamos a
modelar: Ventas diarias, manejo de stock, …
Elegimos la granularidad (nivel de detalle) del
proceso de negocios
Elegimos las dimensiones que van a intervenir
Elegimos los hechos o medidas que se van a
utilizar
Diagrama Lógico



Es una representación de la estructura
que va a tener el Data Warehouse
Se puede revisar con el profesional de
negocios
Comprende


Descripción de medidas y granularidad
Descripción de las dimensiones
Medidas

Valores numéricos




Cantidad
Importe
Sumas, consolidaciones, operaciones
aritméticas
Granularidad



Por fecha
Por producto
Por sucursal
Medidas
Sucursales
Fecha
Sucursal
Día
Ventas
Productos
Producto
Cantidad
Importe
Dimensiones

Variables del negocio




Son de tipo textual
Sirven para mostrar, agrupar, filtrar
Valores numéricos categorizados


Fechas, productos, sucursales
Rangos de edades, niveles de precios
Atributos
Relaciones entre atributos
Uno-uno
 A cada código de artículo le
corresponde una descripción
 A cada descripción le corresponde un
código de artículo
Ambos atributos forman parte de la
misma dimensión
Relaciones entre atributos
Uno-muchos
 Productos
 Una familia de productos comprende
varios productos
 Un tipo de producto comprende varias
familias
 La relación jerárquica es
tipo > familia > producto
Dimensiones
Tipo
Familia
Producto
Dimensiones
Jerarquías múltiples
 Puede ocurrir que además de agrupar los
productos por tipo y familia sea útil
agruparlos por nivel de precio (caro,
mediano, barato)
 Esto se representa con una doble jerarquía


tipo > familia > producto
nivel de precio > producto
Dimensiones
Nivel de precios
Tipo
Familia
Producto
Relaciones entre atributos
Muchos-muchos


Cada producto se vende en varias sucursales
En cada sucursal se venden varios productos
Estos atributos corresponden a dimensiones
diferentes
Se relacionan a través del diagrama de medidas
Medidas
Sucursales
Fecha
Sucursal
Día
Ventas
Productos
Producto
Cantidad
Importe
Estructura de tablas
Tabla de hechos
 Se construye sobre la base del
diagrama de medidas
 Contiene una fila por cada
acontecimiento que debe reflejar
 Tiene dos partes:


Las referencias a las dimensiones
Las medidas
Tabla de Hechos
Fecha
Producto
Dimensiones
Sucursal
Importe
Unidades
Tickets
Medidas
Estructura de tablas
Tabla de dimensión
 Se construye sobre la base del diagrama de
dimensión respectivo
 Contiene atributos descriptivos






De tipo textual y discreto
Para seleccionar
Para agrupar
Para mostrar
No contiene valores que intervengan en cálculos
Valores numéricos categorizados
Estructura de tablas



Los códigos son un atributo más
Se incluyen las decodificaciones como
atributo
No hay que confiar en que los usuarios
conocen los códigos
Estructura de tablas
Hay una tabla de dimensión por cada
dimensión

En cada tabla de dimensión se colocan
todos los atributos de esa dimensión
que los profesionales de negocios
consideran relevantes
Atributos
Para la dimensión Fecha
 El día
 El mes
 El año
 Feriado
 Semana Santa
 Día de la madre
Atributos
Para la dimensión Producto
 El código de artículo
 La descripción
 El tipo de envase
 El tamaño
 Dietético
 El nivel de precio
Tabla de dimensiones
Producto-ID
Descripción
Familia
Tipo
Niv. Precio
Esquema Estrella
Producto-ID
Fecha-ID
Día
Mes
Año
Fecha-ID
Producto-ID
Sucursal-ID
Sucursal-ID
Sucursal
Distrito
Zona
Importe
Unidades
Tickets
Cód.Artículo
Artículo
Familia
Tipo
Niv. Precio
Esquema Estrella

La tabla de hechos está en tercera
forma normal


No tiene filas repetidas
Las tablas de dimensiones están en
segunda forma normal

Todos los productos de una misma familia
llevan como atributo el nombre de la
familia
Esquema Estrella





La tabla de hechos ocupa 95-98% del
volumen total de un Data Warehouse
En comparación las tablas de dimensiones
ocupan poco espacio
Los datos en un Data Warehouse no se
modifican
Los únicos joins son los de la tabla de hechos
con cada tabla de dimensiones
Mejor rendimiento en consultas
Esquema Copo de Nieve
Producto-ID
Descripción
Familia-ID
Producto-ID
Familia-ID
Descripción
Esquema Copo de Nieve


En un esquema Copo de Nieve todas las
tablas (hechos y dimensiones) están en
tercera forma normal
Es aplicable para tablas de dimensiones
(p.ej. Producto o Cliente) con una gran
cantidad de filas
Manejo de joins



En un SELECT se eligen las tablas de las
que se va a hacer join
Con WHERE se especifican las
condiciones de join
Una vez efectuado el join con WHERE
se especifican los criterios de selección
de las filas que interesan
Manejo de joins
Si la búsqueda se hace sobre un Data
Warehouse de esa forma
 Se efectúan los joins de la tabla de hechos
con las tablas de dimensiones
 La tabla resultante tiene millones de filas
 Se elige una parte de ellas y se descarta el
resto
 Hay mucho trabajo desperdiciado
Manejo de joins
Cuando el motor de Base de Datos debe
procesar un Data warehouse
 Primero establece las restricciones
sobre las tablas de dimensiones
 Luego efectúa los joins con las filas de
la tabla de hechos que realmente se
usan
Tipos de Medidas
Aditivas



Se pueden sumar a lo largo de todas las
dimensiones
Importes
Tiene sentido sumarlos por producto, por
sucursal, por fecha
Medidas

Semiaditivas





Se pueden sumar a lo largo de una
determinada dimensión
Cantidad de unidades vendidas
Sólo dimensión producto
Carece de sentido sumarla en otras
dimensiones
Nivel de stock
Medidas

No aditivas



No tiene sentido sumarlas a lo largo de
ninguna dimensión
Porcentaje de ganancia
Temperatura
Otras formas de consolidación




Promedio
Máximo
Mínimo
Cantidad de casos
Cómo se conecta la tabla de
hechos a las de dimensión



Tiene que verificarse la integridad referencial
entre la tabla de hechos y las tablas de
dimensión
En la tabla de hechos : cada dimensión tiene
una clave foránea (foreign key) que apunta a
la fila que corresponde en la tabla de
dimensión
En la tabla de dimensión : esa clave tiene que
ser una clave primaria (primary key)
Cuál es esa clave ?


Opción 1 : la clave provista por los
sistemas fuente (ej. código de artículo,
código de cliente)
Se la llama clave natural, clave del
negocio, clave operativa, clave
inteligente
Clave Inteligente
PRODUCTO
TABLA DE HECHOS
Cód. Artículo
Cód. Artículo
Tiene significado para el negocio
Clave Inteligente Desventajas



Incluye lógica del negocio (ej. parte del
código de artículo es el código de proveedor)
Requiere el uso conjunto de 2 ó más campos
para identificar unívocamente a la fila (ej.
código de artículo, fecha de vigencia)
Es de longitud considerable (ej. alfanumérico
de 15 ó más posiciones)
Clave Inteligente Desventajas



Los códigos son reutilizados en los
sistemas fuente
La estructura o longitud puede cambiar
con el tiempo
La forma de identificar un elemento
cambia con el tiempo
Clave Inteligente

Tiene dos funciones




Aportar conocimiento sobre el negocio
Conectar la tabla de hechos con una tabla
de dimensiones
Ocupa mucho espacio en la tabla de
hechos
¿Por qué no separar las funciones?
Clave Subrogada


Opción 2 : generar dentro del ámbito
del Datawarehouse una clave numérica
sin significado para el negocio (número
entero asignado en forma secuencial)
Se la llama clave artificial, clave entera,
clave subrogada
Clave Subrogada
Sólo se usa para conectar
las tablas
TABLA DE HECHOS
PRODUCTO
Producto-ID
Cód. Artículo
Producto-ID
No tiene significado para el
negocio
Clave Subrogada




Tiene la única función de conectar la tabla de
hechos con la tabla de dimensiones
Es un número consecutivo (el número de fila
en la tabla de dimensiones respectiva)
Ocupa menos espacio en la tabla de hechos
(la más voluminosa)
La clave inteligente aparece como un atributo
más
Clave Subrogada Ventajas



La lógica para identificar la fila de la tabla de
dimensión que corresponde se hace en el
proceso de ETL y no en el momento de la
consulta
El datawarehouse se independiza de cambios
en el manejo de claves de los sistemas fuente
Permite manejar dimensiones de cambio
lento
Clave Subrogada Desventajas


Hay que manejar y administrar estas
claves en el proceso de ETL
Esta complejidad adicional se ve
compensada en el mediano y largo
plazo.
Dimensiones de cambio lento




El horizonte temporal del Data
Warehouse es mayor que el de los
sistemas transaccionales
El Data Warehouse debe reflejar el paso
del tiempo pero no perder la historia
Un producto cambia de denominación
Una sucursal cambia de distrito
Dimensiones de cambio lento


¿Qué hay que hacer?
Interpretación del profesional de
negocios


¿Queremos guardar la historia?
¿Con qué detalle?
Dimensiones de cambio lento






Distintos tipos
Manejan en forma diferente la conservación
de la historia
Se define para cada atributo
No hay un tipo que sea mejor que otro
Interpretación del profesional de negocios
Es una técnica que se llama SCD (slowly
changing dimensions)
Dimensiones de cambio lento
Tipo 1
 No conserva la historia
 Modifica el datos en la tabla de
dimensiones
Dimensiones de cambio lento
PRODUCTO
Enero 2008
HECHOS
146
267894
Yogur dietético
146
TIPO 1
Dimensiones de cambio lento
PRODUCTO
Octubre 2008
HECHOS
146
267894
Yogur BC
146
TIPO 1
Dimensiones de cambio lento
Tipo 2
 Cuando un atributo cambia de valor se
agrega una nueva fila a la tabla de
dimensiones
 Los nuevos hechos apuntan a la nueva
fila
 Los hechos anteriores continúan
apuntando a la fila anterior
Dimensiones de cambio lento
PRODUCTO
Enero 2008
HECHOS
146
267894
Yogur dietético
146
TIPO 2
Dimensiones de cambio lento
PRODUCTO
Octubre 2008
HECHOS
542
267894
Yogur BC
542
TIPO 2
Dimensiones de cambio lento
Tipo 3
 Guarda una cantidad limitada de valores
históricos de atributos seleccionados
 El profesional de negocios debe
identificar el valor correspondiente
Dimensiones de cambio lento
PRODUCTO
HECHOS
385
267894
Denom. actual
385
Denom. anterior
Denom. original
TIPO 3
Dimensiones de cambio
no tan lento
Problema
 Tabla de dimensiones con gran cantidad
de filas
 Atributos que cambian con cierta
frecuencia
 Aumento desmedido de la cantidad de
filas
Minidimensiones
El caso
 Dimensión clientes con gran cantidad
de filas
 Hay cambios de tipo socioeconómico



Nivel de ingresos
Estado civil
Rango de edad
Minidimensiones
Solución
 Se crea una dimensión que agrupa a
estos atributos




Nivel de ingresos
Rango de edad
Estado civil
Personas a cargo
Dimensiones de cambio
no tan lento

Cada fila de esa tabla de dimensiones
contiene un juego de valores posibles
de cada uno de esos atributos

Estado civil: Casado
Ingresos: entre $1000 y $2000
Edad: entre 50 y 60 años

Más de 3 personas a cargo


Minidimensiones
SOCIOEC
67
CLIENTE
1518
Casado
1000-2000
67
HECHOS
50 – 60
Más 3 pers
1518
67
Tablas de hechos sin medidas




Tabla de hechos que se refiere a la
asistencia de alumnos a distintos cursos
Tabla de hechos correspondientes a un
censo
Cada fila de la tabla de hechos
identifica un caso a estudiar
No existen medidas numéricas para
sumar
Tablas de hechos sin medidas
Fecha-ID
Curso-ID
Fecha-ID
Alumno-ID
Alumno-ID
N° Matrícula
Curso-ID
Profesor-ID
N° Legajo
Profesor-ID
Aula-ID
N° Curso
Aula-ID
Ubicación
Descargar

Modelado dimensional