Kesu - Fotolia
Tablas de dimensión vs tablas de hechos: ¿Cuál es la diferencia?
Las tablas de hechos y las tablas de dimensiones se usan juntas en los esquemas de estrella para soportar aplicaciones de análisis de datos. Pero juegan diferentes roles y tienen diferentes tipos de datos.
Los modelos de relación de entidad utilizados en los sistemas de negocios suelen estar organizados para admitir la ejecución eficiente de transacciones o eventos operativos. Debido a que el foco se centra en garantizar tiempos de respuesta rápidos, los modelos de datos asociados no se prestan fácilmente a la agregación y segmentación de datos que impulsan las aplicaciones de inteligencia de negocios (BI), informes y analítica.
Como resultado, el procesamiento de transacciones y los datos operacionales deben transformarse en un marco que sea más adecuado para usos analíticos. La necesidad de hacerlo a menudo conduce a la implementación de tablas de hechos y dimensiones en un almacén de datos. Veamos tablas de dimensiones y tablas de hechos, y cómo se relacionan y difieren entre sí.
El modelado dimensional es un método común para estructurar datos de BI y análisis en forma de un esquema en estrella. Un modelo dimensional permite que los datos en un almacén de datos se representen de una manera diseñada para proporcionar un rendimiento rápido en consultas analíticas.
La estructura del esquema en estrella permite una exploración rápida de los criterios de selección entre los registros disponibles en diferentes dimensiones de datos; que no solo optimiza la generación de conjuntos de resultados, también proporciona la capacidad de crear agregaciones de manera eficiente, como recuentos, sumas, promedios y valores máximos y mínimos.
Las tablas de hechos se vuelven específicas en los datos
En el corazón de un esquema en estrella hay una tabla de hechos, que contiene entradas de datos que comprenden un conjunto de hechos relacionados con las operaciones comerciales de una compañía. Cada fila en una tabla de hechos representa una transacción o evento individual; las columnas documentan los diferentes elementos de datos que entran en juego al procesar los capturados en la tabla.
Por ejemplo, una tabla de hechos podría contener los datos asociados con el procesamiento de una transacción de venta en una tienda minorista:
Time ID |
Customer ID |
Quantity |
Item ID |
Promotion ID |
Unit price |
Total |
Location ID |
Clerk ID |
Esta tabla documenta los datos de la entidad, como el producto adquirido, el cliente que realiza la compra y la ubicación de la tienda. También incluye datos cuantificables, como la cantidad de unidades compradas y el precio total pagado por ese producto. Juntos, los campos en una de las filas de la tabla de hechos registran información específica sobre un producto en particular, que se vendió a un cliente en particular, en un momento determinado, en una tienda en particular.
Esa es información útil, por supuesto. Pero, por sí sola, no le da mucho trabajo a los analistas de datos y negocios del minorista para analizar las ventas. Los valores cuantificables capturados en la tabla de hechos son susceptibles de agregarse para el análisis tal como está. Sin embargo, para analizar los registros de datos de la entidad, se necesitan tablas de dimensiones que contengan más información sobre clientes, productos, etc.
Las tablas de dimensión tienen claves para el análisis
En una tabla de hechos, las entradas en los campos de datos de la entidad no son los datos reales; en su lugar, son claves externas que apuntan a las claves primarias para entradas relacionadas en tablas de dimensiones, que capturan una variedad de información sobre cada entidad a la que se hace referencia en la tabla de hechos. Una tabla de dimensiones proporciona una forma uniforme de mantener una versión actualizada de los datos asociados con esas entidades.
Por ejemplo, una tabla de dimensiones del cliente creada por el minorista probablemente incluya los siguientes datos, vinculados a las ID de clientes que figuran en la tabla de hechos:
Customer ID |
Customer name |
Street |
City |
State |
ZIP |
Home phone |
Loyalty ID |
Gender |
La tabla de dimensiones también podría contener muchos más atributos de datos, incluidos datos demográficos adicionales, como fecha de nacimiento; datos de perfil de compra, como la frecuencia de las compras y las marcas compradas; y colores favoritos y otras preferencias personales proporcionadas por los clientes. Una de las características de las tablas de dimensiones frente a las tablas de hechos es que las últimas tienden a ser relativamente estrechas, con un número limitado de columnas, mientras que las primeras son a menudo muy amplias.
Mantener conjuntos separados de datos de cada cliente, indexados por sus ID de clientes, hace que sea más fácil ejecutar informes sobre, por ejemplo, todas las compras realizadas por diferentes personas para ayudar a orientar mejor las campañas de marketing. Además, el minorista podría usar los datos combinados en las tablas de hechos y dimensiones para analizar cosas tales como qué clientes compraron determinados productos y cuántos de ellos aprovecharon las promociones que se ofrecen.
Ahora, pongamos los dos tipos de tablas juntas para ilustrar cómo funcionan en conjunto.
Construyendo una relación productiva
Una visualización del esquema en estrella que podría resultar de nuestro ejemplo de venta minorista se muestra arriba, con la tabla de hechos de ventas vinculada a las tablas de seis dimensiones. Cada una de las tablas de dimensiones se puede usar de forma similar a la del cliente.
El modelo dimensional también admite sin problemas la agregación de datos, las consultas y la generación de informes en las diferentes dimensiones. Para obtener un informe sobre las ventas de artículos por ubicación de la tienda, un analista de datos en el minorista puede ordenar los registros de ventas de la tabla de hechos por ubicación y luego por producto; en ese momento, los datos sobre los productos vendidos en cada tienda se pueden agrupar para su análisis.
Los datos de tiempo también se pueden incorporar para analizar las tendencias estacionales, o se pueden analizar los datos de los clientes para ver cómo difieren los compradores de una región a otra. Con los índices correctos puestos en marcha, analizar e informar sobre los conjuntos de datos agregados resultantes es simple usando consultas SQL.
El modelado dimensional se ha convertido en un enfoque estándar en el almacenamiento de datos porque su elegancia y simplicidad permiten la ejecución rápida de consultas analíticas. El uso de dimensiones independientes libera al modelo dimensional de cualquier predisposición de sesgo sobre las entidades a las que se hace referencia. Además, es eminentemente extensible: Agregar nuevas entidades es tan simple como agregar registros a la tabla de dimensiones asociada, y las dimensiones en un esquema en estrella se pueden expandir creando nuevas tablas de dimensiones y poniendo claves que se refieran a ellas en una tabla de hechos.
Al final, no es realmente una cuestión de usar tablas de dimensiones vs. tablas de hechos. Las dos van de la mano para ayudar a las organizaciones a construir arquitecturas de datos que puedan soportar aplicaciones efectivas de BI y análisis.