Cómo modelar un data warehouse con esquema en estrella
Un data warehouse bien modelado responde preguntas de negocio en segundos. El esquema en estrella — una tabla de hechos rodeada de dimensiones — es el patrón más usado para lograrlo.
Requisitos previos
- Nociones básicas de SQL y de bases de datos relacionales.
- Un motor de base de datos (SQL Server, PostgreSQL o equivalente).
- Una fuente de datos transaccional para modelar (por ejemplo, ventas).
Paso 1: Identificar el proceso de negocio
Elige el proceso a analizar — por ejemplo, ventas. Cada fila de la tabla de hechos será una transacción de venta.

Paso 2: Definir la tabla de hechos
La tabla de hechos guarda las métricas (medidas) y las claves hacia las dimensiones:
CREATE TABLE fact_vendas (
data_key INT NOT NULL,
produto_key INT NOT NULL,
cliente_key INT NOT NULL,
quantidade INT,
valor DECIMAL(12,2)
);
Paso 3: Crear las dimensiones
Las dimensiones describen el contexto (quién, qué, cuándo):
CREATE TABLE dim_produto (
produto_key INT PRIMARY KEY,
nome VARCHAR(120),
categoria VARCHAR(60)
);
Repite para dim_cliente y dim_data. Usa claves surrogate enteras (terminadas en _key) en lugar de las claves de negocio.
Paso 4: Conectar hechos y dimensiones
Cada clave de la tabla de hechos apunta a la clave primaria de la dimensión correspondiente. Este vínculo simple es lo que da la forma de estrella.
Verificar el resultado
Ejecuta una consulta de prueba uniendo los hechos a las dimensiones:
SELECT p.categoria, SUM(f.valor) AS total
FROM fact_vendas f
JOIN dim_produto p ON p.produto_key = f.produto_key
GROUP BY p.categoria;
Conclusión
Con una tabla de hechos y algunas dimensiones tienes la base de cualquier informe rápido. ¿Qué proceso de negocio de tu organización se beneficiaría más de un modelo en estrella?