El diseño del almacén de datos con esquema de estrella

Spectrum™ Technology Platform admite la creación y el mantenimiento de almacenes de datos que utilizan un diseño de esquema de estrella. En un esquema en estrella, los datos se almacenan ya sea como hechos, es decir, las descripciones específicas de un evento, o como atributos dimensionales, es decir, las descripciones de los hechos en la tabla de hechos. Los hechos cambian en forma periódica y las dimensiones, o bien cambian lentamente, o no cambian nunca.

La siguiente ilustración muestra el diseño de un esquema de estrella:



Esta ilustración muestra las características principales de un esquema de estrella: una tabla de hechos, tablas de dimensión y las combinaciones.

Tabla de hechos

Las tablas de hechos son las tablas centrales del esquema de estrella de su almacén de datos. Las tablas de hechos suelen contener información numérica o cuantitativa (denominada medidas) que describe un evento específico. Por ejemplo, si usted tiene un almacén de datos que se utiliza para generar un informe sobre los ingresos de la compañía, tendrá como columnas dollar_sales y dollar_cost en su tabla de hechos, tal como se indicó en la anterior ilustración. Normalmente, los datos se evalúan en forma continua, y son aditivos. "Evaluado en forma continua" significa que el hecho es una medida numérica que arroja un valor cada vez que se mide. "Aditivo" significa que el hecho puede resumirse mediante la adición.

Las tablas de hechos contienen además un conjunto de columnas que forman una clave concatenada, o compuesta. Cada una de las columnas de la clave concatenada es una clave externa extraída de una clave principal de una tabla de dimensión . Por ejemplo, en la ilustración anterior, la tabla de hechos contiene una columna product_key que asocia el hecho a un producto específico en la tabla product_dimension.

El nivel de detalle de una tabla de hechos se llama grano. Cada fila de la tabla de hechos debe registrarse con el mismo nivel de detalle. En el diagrama anterior, las mediciones en la tabla de hechos son los totales diarios de ventas en dólares, ventas por unidades, y el costo en dólares de cada producto vendido. El grano es diario. Cada registro de la tabla de hechos representa el total de las ventas de un producto específico durante un único día en una tienda minorista. Cada nueva combinación de producto, tienda, o día genera un registro diferente en la tabla de hechos.

las tablas de hechos se completan con los datos extraídos de un origen de datos. El origen de datos puede ser un sistema OLTP o un almacén de datos. Spectrum™ Technology Platform toma una instantánea de los datos de origen en un horario regular y mueve los datos hacia el almacén de datos, por lo general a la misma hora cada día, semana o mes.

Un esquema de estrella puede tener varias tablas de hechos. Utilice un esquema con varias tablas de hechos para separar conjuntos de mediciones que comparten un subconjunto común de tablas de dimensiones, o para realizar un seguimiento de mediciones con diferentes granos.

Tabla de dimensiones

Las tablas de dimensiones almacenan datos que describen la información contenida en la tabla de hechos. Por ejemplo, si el total de ventas, o sales_total, de un mes difiere del mes siguiente, se consultan las dimensiones para averiguar la razón. La misma tabla de dimensiones puede utilizarse con diferentes tablas de hechos.

Las tablas de dimensión tienen atributos y una clave principal de una sola parte que une la tabla de dimensión con la tabla de hechos. Los atributos son las columnas de la tabla de dimensiones. La clave principal de una sola parte permite que explore con rapidez una única tabla de dimensión. Explorar una tabla de dimensión puede ayudar a determinar la mejor manera de consultar la tabla de hechos.

Las tablas de dimensiones de tiempo son necesarias para realizar cálculos precisos basados en tiempo porque a veces no es fácil extraer los datos de fecha necesarios de los registros. Por ejemplo, los siguientes registros se encuentran en una base de datos de ventas. Tenga en cuenta que hay diferencias de tiempo entre registros. Por ejemplo, no hay ningún registro para el día 1/4/2012.

Fecha Producto Monto
03/01/2012 Red Shirt $10.00
05/01/2012 Red Shirt $5.00
07/01/2012 Red Shirt $15.00

Si consulta estos registros y calcula el promedio de ventas por día, la respuesta sería $10.00 ($30 / 3 registros). Sin embargo, esto no es correcto porque los tres registros en realidad abarcan un período de cinco días. Si tiene una tabla de dimensiones de tiempo con un registro para cada día, puede combinar esta tabla con la tabla anterior para obtener:

Fecha Producto Monto
03/01/2012 Red Shirt $10.00
04/01/2012    
05/01/2012 Red Shirt $5.00
06/01/2012    
07/01/2012 Red Shirt $15.00

Al calcular el promedio de ventas por día utilizando estos registros, obtendrá la respuesta correcta: $6.00 ($30 / 5 días).

Además, podría tener en cuenta los atributos de tiempo arbitrarios, tales como días festivos, fines de semana y trimestres en el cálculo. Por ejemplo, si 1/6/2012 fue un día festivo y a usted solo le interesan las ventas promedio por día laboral, entonces la respuesta sería $7.50.

Combinaciones

Combinaciones define las relaciones entre una tabla de hechos y las tablas de dimensión en el esquema de estrella. La clave principal de la tabla de dimensiones es la clave externa de la tabla de hechos. La tabla de hechos debe contener un valor de clave primaria de cada tabla de dimensiones. La referencia de la clave externa con repecto de la clave principal es el mecanismo para verificar los valores entre las dos tablas. Las relaciones de combinación de este tipo garantizan la integridad referencial de un almacén de datos. Para asegurar la validez de los resultados debe mantenerse la integridad referencial.

Cada registro de una tabla de dimensiones puede describir muchos registros en la tabla de hechos, lo que hace que la lleva de uno a muchos la cardinalidad de la combinación de las tablas de dimensiones respecto de las tablas de hechos.

En la ilustración anterior, product_key es la clave principal de la tabla product_dimension y la clave externa en la tabla sales_fact. Esta combinación representa la relación entre los productos de la compañía y sus ventas.