0% encontró este documento útil (0 votos)
52 vistas16 páginas

Diseño OLAP

Este documento describe el diseño de una solución OLAP, incluyendo la construcción de un data mart con una tabla de hechos y dimensiones, y los conceptos de esquemas estrella, medidas y niveles jerárquicos de dimensiones.

Cargado por

josé_mercado_23
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas16 páginas

Diseño OLAP

Este documento describe el diseño de una solución OLAP, incluyendo la construcción de un data mart con una tabla de hechos y dimensiones, y los conceptos de esquemas estrella, medidas y niveles jerárquicos de dimensiones.

Cargado por

josé_mercado_23
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Unidad 3.

Diseñando una solución OLAP

Objetivos

 Comprender la formación de la tabla de hechos


 Entender que son las medidas
 Conocer que son las dimensiones y como se organizan
 Distinguir la diferencia entre los esquemas estrella y copo
de nieve.
 Diferenciar las medidas naturales de las calculadas

Contenido de la unidad

3.1 Introducción
3.2 Construyendo el data mart
3.3 Esquema Estrella
3.3.1 Tabla de Hechos
3.3.2 Dimensiones
[Link] Relaciones y Estructura de una dimensión
[Link] Esquema Estrella
[Link] Esquema Copo de Nieve
[Link] Padre – Hijo (Parent- Child)
[Link] Dimensiones Virtuales
[Link] La dimensión Tiempo
3.4 Medidas
3.4.1 Medidas Naturales
3.4.2 Medidas Calculadas

Página 1 de 16
3.1. Introducción

Con lo aprendido en las unidades anteriores, podemos comenzar a definir el


diseño de nuestra base de datos OLAP.
En esta unidad, desarrollaremos el diseño de las tablas que conforman el plano de
un data mart (DM) que nos servirá de estructura para el posterior armado del
cubo.
Al final de este módulo, el lector comprenderá cómo definir la tabla de hechos,
cómo se pueden organizar las dimensiones, y qué son las medidas.
La estructura que forman la Tabla de Hechos y las Dimensiones
puede verse como el plano o la visión desplegada del cubo.

Página 2 de 16
Data Mart: son almacenes de datos con información de interés
particular para un determinado sector de la empresa
Data Warehousing: es el conjunto de almacenes de datos
particulares (Data Mart) con información de interés para la
empresa en general

Cada uno de los siguientes son ejemplos Data Mart (DM)


 Ventas
 Recursos Humanos
 Producción
El Data Warehousing es el conjunto de esos data mart
 DM de Ventas + DM de Recursos Humanos + DM de
Producción

3.2. Construyendo el data mart


Hasta ahora hemos analizado los requerimientos del usuario, y depuramos sus
datos para la formación del data warehousing, en esta unidad comenzaremos a
diseñar el modelo del data mart. Este modelo, será el paso previo al armado de
nuestra base de datos OLAP.
En esta etapa vamos a modelar las tablas relacionales en una gran estructura
desnormalizada, compuesta por tabla de hechos, y tablas más pequeñas que
definirán las n-dimensiones o aperturas de nuestro cubo, llamadas tablas de
dimensiones.
Para ello, primero debemos conocer algunos conceptos que tendremos en cuenta
en la construcción del modelo.

3.3. Esquema Estrella


Para facilitar el análisis, el data mart organiza los datos en una estructura llamada
esquema de estrella.
Esta estructura esta compuesta por una tabla central - tabla de hechos - y un
conjunto de tablas organizadas alrededor de ésta - tablas de dimensiones.
En las puntas de la estrella se encuentran las tablas de dimensión que contienen
los atributos de las aperturas que interesan al negocio que se pueden utilizar como
criterios de filtro y son relativamente pequeñas. Cada tabla de dimensión se
vincula con la tabla de hechos por un identificador.

Página 3 de 16
Las características de un esquema de estrella son:

 El centro de la estrella es la tabla de hecho.


 Los puntos de la estrella son las tablas de dimensiones.
 Cada esquema esta compuesto por una sola tabla de hechos
 Generalmente es un esquema totalmente desnormalizado, pudiendo estar
parcialmente normalizado en las tablas de dimensiones.

En el ejemplo construimos un esquema estrella considerando que


se necesita analizar como evoluciona la Admisión de Pacientes
(Hecho) por servicio, pacientes y zona geográfica a lo largo del
tiempo.

Dimensión Dimensión
Servicio Paciente

Tabla de Hechos
Admisión Pacientes

Dimensión Dimensión
Tiempo Zona
Geográfica

3.3.1 Tabla de Hechos


El modelo dimensional divide el mundo de los datos en dos grandes tipos: las
medidas y las dimensiones de estas medidas.
Las medidas, siempre son numéricas, se almacenan en las tablas de hechos y las
dimensiones que son textuales se almacenan en las tablas de dimensiones.
La tabla de hechos es la tabla primaria del modelo dimensional, y contiene los
valores del negocio que se desea analizar.

Página 4 de 16
Cada tabla de hechos contiene las claves externas, que se relacionan con sus
respectivas tablas de dimensiones, y las columnas con los valores que serán
analizados.

Ejemplos de Hechos
 En un hospital: admisión de pacientes
 En un operador telefónico: Tráfico telefónico

Un hecho es un concepto de interés primario para el proceso de


toma de decisiones, corresponde a eventos que ocurren
dinámicamente en el negocio de la empresa.

3.3.2 Dimensiones
Diseñaremos y construiremos cada dimensión basados en los procesos de
negocio definidos por el cliente.
Las dimensiones organizan los datos en función de un área de interés para los
usuarios.
Cada dimensión describe un aspecto del negocio y proporciona el acceso intuitivo
y simple a datos.
Una dimensión provee al usuario de un gran número de combinaciones e
intersecciones para analizar datos.
Las tablas de dimensiones son las compañeras de las tablas de hechos. Cada
dimensión se define por su clave primaria que sirve para mantener la integridad
referencial en la tabla de hechos a la que se relaciona.
Un cubo requiere que se defina al menos una dimensión en su esquema.
[Link] Relaciones y Estructura de una dimensión
Cada nivel de una dimensión debe corresponderse con una columna en la tabla
de la dimensión. Los niveles se ordenan por grado de detalle y se organizan en
una estructura jerárquica. Cada nivel contiene miembros, los miembros son los
valores de la columna que define el nivel.
Entre los miembros y entre los niveles de una dimensión existen relaciones, estas
se pueden comprender como las relaciones que existen en un árbol genealógico

Página 5 de 16
donde los términos padre, hijo, hermano, primo, etc. indican una correspondencia
entre elementos del árbol; y los miembros de la dimensión se comportan como
familiares dentro del árbol genealógico.
 Padre: Es el miembro del nivel inmediatamente superior que se relaciona
con el miembro seleccionado. Cada elemento tiene un solo padre.
 Hijo: Son los elementos del siguiente nivel inferior que se relacionan con el
miembro seleccionado. Pueden existir varios hijos para un mismo miembro.
 Hermano: Son los miembros que se encuentran en el mismo nivel que el
miembro seleccionado y poseen el mismo padre.
 Primo: Son los miembros que se encuentran en el mismo nivel que el
miembro seleccionado, pero que tienen diferentes padres. Los primos tiene
padres que son hermanos.
 Descendientes: Son todos los miembros que se encuentran debajo del
nivel del miembro seleccionado. independientemente de la cantidad de niveles
que los separen.
 Ancestros: Son todos los miembros que se encuentran por encima del
nivel del miembro seleccionado.
Un miembro es independiente de las relaciones. Cada integrante de la dimensión
es miembro de ella.

Página 6 de 16
Ejemplos de dimensión
 Dimensión zona geográfica

* PAIS ARGENTINA BRASIL URUGUAY


** BUENOS SAN MONTEVIDE
CORDOBA
PROVINCIA AIRES PABLO O
MAR VILLA
LA
del GRAL.
*** CIUDAD PLAT …. …
PLAT BELGRAN
A
A O

Ejemplos de relaciones
En una dimensión zona geográfica tendríamos las siguientes
relaciones entres niveles y entre miembros:
 Padre:
Argentina es padre de Buenos Aires y de Córdoba
 Hijo:
Buenos Aires y Córdoba son hijos de Argentina
 Hermano:
Buenos Aires y Córdoba son hermanos el uno al otro, también
son hermanos Argentina, Brasil y Uruguay.
 Primo:
Mar del Plata es primo de Villa General Belgrano.
 Descendiente:
Todos los miembros que estén por debajo de Argentina son
sus descendientes, por ejemplo Buenos Aires, Mar del Plata y
Villa General Belgrano son alguno de sus descendientes.
 Ancestro:
Mar del Plata tiene dos antepasados Buenos Aires y
Argentina.

Las dimensiones pueden ser:


 Locales

 Compartidas

Las dimensiones locales son las que se definen y se utilizan dentro de un mismo
cubo.

Página 7 de 16
Las dimensiones compartidas son aquellas dimensiones que se definen
independientes de los cubos y pueden ser utilizadas por varios de ellos.
Ventajas de las dimensiones compartidas
 Evitamos duplicar dimensiones locales
 Aseguramos que los datos analizados estén organizados de la misma forma
en todos los cubos, lo que implica un menor costo de mantenimiento.
Desventajas de las dimensiones compartidas
 Deben emplearse del mismo modo en los cubos que las usen.
 Un cambio implica que la dimensión deberá ser modificada en todos los
cubos

Ejemplos de Dimensión Compartida


La dimensión Producto puede utilizarse para el Data Mart
Ventas y para el Data Mart Producción.
Así, la dimensión producto es una dimensión compartida por
los dos Data Mart.

Al definir una dimensión debemos prestar especial atención


en los requerimientos del cliente, ya que una mala definición
de la dimensión, o de sus niveles podría implicar que no
obtengamos los resultados deseados.
Si la definición de las dimensiones no es la correcta, no
serán correctos ni útiles las agrupaciones, las
sumarizaciones o los filtros. Probablemente se termine
copiando datos a una planilla de calculo como sino existiera
el DM.
Riesgos de Dimensiones Compartidas
Es importante que nos aseguremos que cualquier
modificación o cambio en una dimensión compartida sea
válida para todos los cubos que la empleen

[Link] Dimensiones: Esquema Estrella


En el esquema estrella cada dimensión esta compuesta por una sola tabla, esta
tabla esta desnormalizada.
El esquema se denomina así debido a que el diagrama se parece a una estrella.

Página 8 de 16
Debido a que las tablas de dimensión están desnormalizadas lograremos en el
modelo del data mart, una menor cantidad de tablas.
Este es un esquema donde las dimensiones tienen un esquema
estrella.

Dimensión Dimensión
Servicio Paciente

Tabla de Hechos
Admisión Pacientes

Dimensión Dimensión
Tiempo Zona
Geográfica

[Link] Dimensiones: Esquema Copo de Nieve


El esquema copo de nieve es una variación del esquema estrella donde alguna
punta de la estrella se explota en más tablas.
El nombre del esquema se debe a que el diagrama se asemeja a un copo de
nieve.
En este esquema, las tablas de dimensión copo de nieve se encuentran
normalizadas para eliminar redundancia de datos.
A diferencia del esquema estrella, los datos de las dimensiones se reparten en
múltiples tablas.
Como ventaja del esquema destacamos el ahorro de espacio de almacenamiento
en disco, pero en perjuicio de un aumento en la cantidad de tablas.
Los siguientes son las características de un copo de nieve:
 La dimensión esta normalizada
 Los distintos niveles se encuentran almacenados en tablas separadas
 Se argumenta ahorro de espacio

Página 9 de 16
Se muestra un esquema donde la dimensión zona geográfica
presenta un esquema copo de nieve.

Copo de nieve
País
Dimensión zona
Geografica

Provincia

Servicio
Ciudad

Admisión
Paciente

Paciente Tiempo

Ejemplo de Tabla Normalizada y Tabla Desnormalizada


En la imagen vemos en la tabla normalizada los datos nombre
de país y nombre de provincia aparecerán una sola vez en las
tablas País y Provincia respectivamente.
Si en cambio, la tabla esta desnormalizada tendremos
redundancia de datos, ya que se repetirán los datos del País y
de la Provincia por cada Ciudad.

Normalizada Desnormalizada

País
ID_País Zona Geográfica
Provincia
País
ID_ Provincia
Provincia Id _ País
ID_País País
ID_Provincia
Provincia
ID_Ciudad
Ciudad Ciudad

ID_ Ciudad
Ciudad
ID_Provincia

Página 10 de 16
Estrella Copo de nieve
Cantidad de tablas Menor Mayor

Mejora la performance Aumenta la cantidad de


uniones entre tablas
Consultas
provocando baja en la
perfomance
Almacenamiento Aumenta el espacio Ahorra espacio

[Link] Dimensiones: Padre – Hijo (Parent – Child)


Una dimensión padre-hijo es una dimensión donde el dato del Padre se relaciona
con el Hijo y ambos se encuentran en la misma tabla de dimensión, es decir, la
dimensión se relacionan consigo misma.

Ejemplos de Dimensión Padre - Hijo


La dimensión Cuenta Contable donde una cuenta imputable
forma parte de un Sub Rubro y el Sub Rubro a su vez forma
parte de un Rubro. Estos datos se encuentran en un solo Plan
de Cuentas.
La cuenta Activo, contiene los rubros Inversiones, Créditos y
Caja, y el rubro Caja a su vez contiene Caja y Fondo Fijo.

[Link] Dimensiones Virtuales


Las dimensiones virtuales, no requieren un almacenamiento físico en el cubo, se
evalúan en el momento de la consulta.
Funcionan de manera similar a las dimensiones reales y son transparentes para el
usuario.

Página 11 de 16
Ejemplos de Dimensión Virtual
Podemos tener una dimensión Producto organizada de la
siguiente manera:
Producto (Dimensión real)
……
Fabricante
Marca
Calibre
Producto

Si el usuario requiere que sus análisis de información se


realicen por Marca, utilizando la dimensión Producto requerirá
seleccionar a cada fabricante para obtener la información de la
marca.
Para evitar esto, podemos crear una dimensión virtual donde el
orden de los niveles Fabricante - Marca están invertidos, que
le permita ver sus datos por Marca sin necesidad de
seleccionar a todos los fabricantes. Esta dimensión la
construiremos de la siguiente manera:

Producto_Marca (Dimensión virtual 1)


……
Marca
Fabricante
Calibre
Producto

Otra necesidad del usuario podría ser obtener los totales o


filtros de calibre sin importar la marca o el fabricante, entonces
construiríamos una dimensión virtual que contenga solo la
columna calibre.

Calibre (Dimensión virtual 2)


Calibre

[Link] La dimensión Tiempo


Mencionaremos esta dimensión ya que ocupa un lugar especial en cada data
mart. Recordemos que el tiempo es parte implícita de la información que contiene
el data mart.
Esta dimensión la podemos definir separándola en distintas jerarquías de tiempo:
 Año

Página 12 de 16
 Semestre
 Mes

Ejemplos de Dimensión Tiempo

La definición de la jerarquía la haremos teniendo en cuenta las necesidades que


tiene la organización. Debemos contemplar los periodos de tiempo por los cuales
la información necesita ser analizada y la regularidad con la que se cargaran los
datos en el cubo.
 Consideraciones para esta dimensión:
Nombres de los miembros: Cuando construyamos la dimensión tiempo es
conveniente que los nombres de los miembros sean únicos. Así, si utilizamos una
nomenclatura para la jerarquía MES que sea “Mes – Año” cuando busquemos un
periodo debemos identificarlo como Julio – 2006. De esta manera nos ahorramos
de utilizar dos niveles de la dimensión logrando una mayor calidad en los informes.
Si en cambio, el nombre de la jerarquía MES se compone solo del nombre del
mes, para identificar el periodo Julio del 2006 primero debemos seleccionar sobre
el nivel Año y luego sobre el nivel Mes.
Puede existir mas de una: Cabe aclarar que no necesariamente esta dimensión
es única dentro del cubo, podríamos tener que armar más de una dimensión
Tiempo. Si necesitáramos analizar la información de la empresa en base al año
calendario y realizar otro análisis basándonos en el año fiscal, deberíamos
construir dos dimensiones de tiempo para el mismo data mart.

3.4. Medidas
Las medidas son los valores de datos que se analizan.
Una medida es una columna cuantitativa, numérica, en la tabla de hechos. Las
medidas representan los valores que son analizados, como cantidad de pacientes
admitidos o llamadas efectuadas.
Las medidas son:
 Valores que permiten analizar los hechos

Página 13 de 16
 Valores numéricos porque estos valores son las bases de las cuales el
usuario puede realizar cálculos.
Si la medida fuera un valor no numérico debemos codificarla a un valor numérico
en el proceso de obtención de datos, y luego cuando tengamos que exponer sus
valores decodificarla para mostrarla con el valor original.
Las siguientes son algunas de las características de las medidas:
 Deben ser numéricas.
 Cruzan todas las dimensiones en todos los niveles.

Las medidas pueden clasificarse en:


 Naturales
 Calculadas

Ejemplos de Medidas
 En un hospital, donde el hecho es Admisión de
Pacientes las medidas pueden ser:
Pacientes Admitidos
Pacientes Atendidos
 En un operador telefónico, donde el hecho es Trafico
Telefónico, las medidas pueden ser:
Llamadas Cantidad
Llamadas Duración

Ejemplos de Medidas no numéricas


Supongamos el hecho Recursos Humanos, donde podemos
tener la medida Sexo que toma los valores “F” o “M”.
Estos valores debemos codificarlos en valores numéricos
durante el proceso de transformación de datos (ETL). Así, por
ejemplo tendremos 0=”F” y 1=”M”.
Cuando el usuario visualice esta medida, debemos volver los
datos a sus valores originales (decodificarlos) para mostrar “F”
o “M”.

3.4.1 Medidas Naturales


Son las columnas numéricas que queremos analizar que provienen directamente
de los sistemas OLTP.

Página 14 de 16
Cuando definimos una medida debemos tener en cuenta cual será la forma de
agregación (agrupación de la misma) al subir por la estructura dimensional.
Estas formas de agregación pueden ser:
 Suma: es la operación que suma los valores de las columnas
 Cuenta: realiza un conteo de los valores
 Mínima: devuelve un valor mínimo
 Máxima: proporciona el mayor de los valores
 Cuenta de Distintos: cuenta los valores diferentes

Las agregaciones son resúmenes de datos


precalculados que mejoran el tiempo de respuesta por el
simple hecho de tener preparadas las respuestas antes
de que se planteen las preguntas.

3.4.2 Medidas Calculadas


Son las medidas que se calculan en el cubo en base a los valores de las medidas
naturales.
El sentido de la expresión medidas calculadas es muy amplio y engloba a
cualquier manipulación de las medidas naturales que nos faciliten el análisis de los
hechos.
En una medida calculada puede haber:
 Cálculos Matemáticos
 Expresiones condicionales
 Alertas
Estos tres tipos (cálculos, condiciones y alertas) usualmente pueden existir juntos
dentro de la misma medida calculada.

Página 15 de 16
 Calculo Matemático
En un sistema de RRHH, podemos querer medir el promedio
de horas extras por mes. Definimos la medida calculada
Promedio de Horas Extras que será el resultado de hacer
Horas Extras dividido Dotación.
 Expresiones condicionales
Para la medida calculada anterior, Promedio de Horas Extras,
necesitaremos verificar la condición de numerador diferente de
cero para evitar que la división nos arroje un error.
Si Dotación es distinto de cero entonces Promedio de Horas
Extras será igual a Horas Extras dividido Dotación.
Si Dotación es igual a cero entonces Promedio de Horas Extras
se mostrara vació.
 Alertas
En un hospital, podemos definir la medida calculada
Sobrecarga de Pacientes que tomara el valor 1 si los Pacientes
Admitidos (medida natural) es mayor a 100, de lo contrario
permanecerá vacía.
Podemos construir una medida Cumplimiento de Ventas que
sea una alerta del tipo semáforo y nos indique
Rojo: Si las unidades vendidas son menores a las unidades
presupuestadas dividido 5, es decir, vendimos menos que el 20
% de lo presupuestado.
Amarillo: Si el valor de las unidades vendidas está entre
unidades presupuestadas dividido 3 y unidades
presupuestadas dividido 5 (el valor vendido esta entre el 20 %
y el 80 % de lo presupuestado).
Verde: Si no se cumple ninguna de las condiciones
anteriores, es decir, vendimos más del 80 % de lo
presupuestado.

Página 16 de 16

También podría gustarte