Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de...

65
Modelado dimensional Hugo M. Castro

Transcript of Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de...

Page 1: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Modelado dimensional

Hugo M. Castro

Page 2: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 3: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Modelado dimensional

Variables del negocio Medidas

Valores numéricos Sumas, consolidaciones, operaciones

aritméticas Dimensiones

Textuales Filtros

Page 4: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Modelo dimensional

Diferencias

El modelo de datos dimensional es lo que hace que un Data Warehouse sea una base de datos orientada al negocio

Page 5: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 6: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 7: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Medidas Valores numéricos

Cantidad Importe

Sumas, consolidaciones, operaciones aritméticas

Granularidad Por fecha Por producto Por sucursal

Page 8: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Medidas

Fecha

Día

Productos

Producto

Ventas

Cantidad

Sucursales

Sucursal

Importe

Page 9: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones Variables del negocio

Fechas, productos, sucursales Son de tipo textual Sirven para mostrar, agrupar, filtrar Valores numéricos categorizados

Rangos de edades, niveles de precios Atributos

Page 10: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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ículoAmbos atributos forman parte de la

misma dimensión

Page 11: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 12: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones

Tipo

Familia

Producto

Page 13: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 14: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones

Tipo

Familia

Producto

Nivel de precios

Page 15: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Relaciones entre atributosMuchos-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

Page 16: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Medidas

Fecha

Día

Productos

Producto

Ventas

Cantidad

Sucursales

Sucursal

Importe

Page 17: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 18: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Fecha

Producto

Sucursal

Importe

Unidades

Tickets

Dimensiones

Medidas

Tabla de Hechos

Page 19: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Estructura de tablasTabla 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

Page 20: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 21: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 22: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Atributos

Para la dimensión Fecha El día El mes El año Feriado Semana Santa Día de la madre

Page 23: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 24: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Tabla de dimensiones

Producto-ID

Descripción

Familia

Tipo

Niv. Precio

Page 25: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Fecha-ID

Producto-ID

Sucursal-ID

Importe

Unidades

Tickets

Fecha-ID

Día

Mes

Año

Sucursal-IDSucursal

Distrito

Zona

Producto-ID

Cód.Artículo

Artículo

Familia

Tipo

Niv. Precio

Esquema Estrella

Page 26: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 27: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 28: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Esquema Copo de Nieve

Producto-ID

Producto-ID

Descripción

Familia-ID

Familia-IDDescripción

Page 29: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 30: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 31: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Manejo de joinsSi 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

Page 32: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 33: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Tipos de Medidas

Aditivas Se pueden sumar a lo largo de todas

las dimensiones Importes Tiene sentido sumarlos por producto,

por sucursal, por fecha

Page 34: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 35: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Medidas No aditivas

No tiene sentido sumarlas a lo largo de ninguna dimensión

Porcentaje de ganancia Temperatura

Page 36: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Otras formas de consolidación Promedio Máximo Mínimo Cantidad de casos

Page 37: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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)

Page 38: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 39: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Clave Inteligente

TABLA DE HECHOS

Cód. Artículo

Cód. Artículo

PRODUCTO

Tiene significado para el negocio

Page 40: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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)

Page 41: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 42: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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?

Page 43: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 44: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Clave Subrogada

TABLA DE HECHOS

Producto-ID

Producto-ID

PRODUCTO

No tiene significado para el negocio

Cód. Artículo

Sólo se usa para conectar las tablas

Page 45: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 46: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 47: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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.

Page 48: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 49: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones de cambio lento

¿Qué hay que hacer? Interpretación del profesional de

negocios ¿Queremos guardar la historia? ¿Con qué detalle?

Page 50: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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)

Page 51: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones de cambio lento

Tipo 1 No conserva la historia Modifica el datos en la tabla de

dimensiones

Page 52: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones de cambio lento

HECHOS

PRODUCTO

146

146

267894

Yogur dietético

Enero 2008

TIPO 1

Page 53: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones de cambio lento

HECHOS

PRODUCTO

146

146

267894

Yogur BC

Octubre 2008

TIPO 1

Page 54: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 55: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones de cambio lento

HECHOS

PRODUCTO

146

146

267894

Yogur dietético

Enero 2008

TIPO 2

Page 56: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones de cambio lento

HECHOS

PRODUCTO

542

542

267894

Yogur BC

Octubre 2008

TIPO 2

Page 57: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 58: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Dimensiones de cambio lento

385

385

267894

Denom. actual

Denom. anteriorDenom. original

HECHOS

PRODUCTO

TIPO 3

Page 59: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 60: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 61: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Minidimensiones

Solución Se crea una dimensión que agrupa

a estos atributos Nivel de ingresos Rango de edad Estado civil Personas a cargo

Page 62: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 63: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Minidimensiones

1518

1518

67

67

67

CLIENTE

HECHOS

SOCIOEC

Casado

1000-2000

50 – 60

Más 3 pers

Page 64: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

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

Page 65: Modelado dimensional Hugo M. Castro. Modelo de datos En los sistemas transaccionales Modelo de entidad-relación Protección de integridad Altas-bajas-modificaciones.

Tablas de hechos sin medidas

Fecha-ID

Alumno-ID

Curso-ID

Profesor-ID

Aula-ID

Fecha-ID

Alumno-ID

N° Matrícula

Profesor-IDN° Legajo

Curso-ID

N° Curso

Aula-ID

Ubicación