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

Post on 08-Jan-2015

12 views 0 download

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

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

Fecha

Día

Productos

Producto

Ventas

Cantidad

Sucursales

Sucursal

Importe

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

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

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

Tipo

Familia

Producto

Nivel de precios

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

Medidas

Fecha

Día

Productos

Producto

Ventas

Cantidad

Sucursales

Sucursal

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

Fecha

Producto

Sucursal

Importe

Unidades

Tickets

Dimensiones

Medidas

Tabla de Hechos

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

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

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

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

Producto-ID

Descripción

Familia-ID

Familia-IDDescripció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 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

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

TABLA DE HECHOS

Cód. Artículo

Cód. Artículo

PRODUCTO

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

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

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

HECHOS

PRODUCTO

146

146

267894

Yogur dietético

Enero 2008

TIPO 1

Dimensiones de cambio lento

HECHOS

PRODUCTO

146

146

267894

Yogur BC

Octubre 2008

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

HECHOS

PRODUCTO

146

146

267894

Yogur dietético

Enero 2008

TIPO 2

Dimensiones de cambio lento

HECHOS

PRODUCTO

542

542

267894

Yogur BC

Octubre 2008

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

385

385

267894

Denom. actual

Denom. anteriorDenom. original

HECHOS

PRODUCTO

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

1518

1518

67

67

67

CLIENTE

HECHOS

SOCIOEC

Casado

1000-2000

50 – 60

Más 3 pers

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

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