modelado dimensional hugo m. castro. modelo de datos en los sistemas transaccionales modelo de...
Post on 08-Jan-2015
12 Views
Preview:
TRANSCRIPT
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
top related