Una tabla de hechos es la tabla central en un esquema en estrella de un almacén de datos. Una tabla de hechos almacena información cuantitativa para su análisis y, a menudo, se desnormaliza.
Una tabla de hechos funciona con tablas de dimensiones. Una tabla de hechos contiene los datos que se van a analizar y una tabla de dimensiones almacena datos sobre las formas en que se pueden analizar los datos de la tabla de hechos. Por tanto, la tabla de hechos consta de dos tipos de columnas. La columna de claves externas permite combinaciones con tablas de dimensiones y las columnas de medidas contienen los datos que se están analizando.
Suponga que una empresa vende productos a sus clientes. Cada venta es un hecho que ocurre, y la tabla de hechos se utiliza para registrar estos hechos. Por ejemplo:
ID de tiempo | identificación de producto | Identificación del cliente | Unidad vendida |
4 | 17 | 2 | 1 |
8 | 21 | 3 | 2 |
8 | 4 | 1 | 1 |
Ahora podemos agregar una tabla de dimensiones sobre los clientes:
Identificación del cliente |
Nombre |
Género |
Ingreso |
Educación |
Región |
1 | Brian Edge | METRO | 2 | 3 | 4 |
2 | Fred Smith | METRO | 3 | 5 | 1 |
3 | Sally Jones | F | 1 | 7 | 3 |
En este ejemplo, la columna de ID de cliente en la tabla de hechos es la clave externa que se une a la tabla de dimensiones. Al seguir los enlaces, puede ver que la fila 2 de la tabla de hechos registra el hecho de que la cliente 3, Sally Jones, compró dos artículos el día 8. La empresa también tendría una tabla de productos y una tabla de tiempo para determinar qué compró Sally y Exactamente cuando.
Al crear tablas de hechos, existen límites físicos y de datos. Se debe considerar el tamaño final del objeto, así como las rutas de acceso. Agregar índices puede ayudar con ambos. Sin embargo, desde una perspectiva de diseño lógico, no debería haber restricciones. Las tablas deben construirse en función de los requisitos actuales y futuros, asegurando que haya tanta flexibilidad como sea posible incorporada en el diseño para permitir mejoras futuras sin tener que reconstruir los datos.