SQL Intermedio · Lección 1 de 6
Modelo estrella y copo de nieve
Antes de cruzar tablas, conviene saber cómo está organizada la base. Casi todas las bases para analizar siguen el mismo dibujo: una estrella.
El almacén creció
Ahora tiene tres sucursales (Centro, Norte y Sur), guarda 67 ventas de marzo y abril y una foto del stock de cada día. La base tiene cinco tablas, y como siempre en Datix, solo las vamos a leer, nunca a modificar. Para no perderte entre tantas tablas, sirve conocer el dibujo que siguen.
Hechos y dimensiones
Las tablas de una base para analizar son de dos tipos. Las tablas de hechos registran cosas que pasan y se miden: cada venta, cada cierre de stock. Crecen todos los días. Las tablas de dimensiones describen a los protagonistas: qué (productos), quién (clientes) y dónde (sucursales). Cambian poco.
| Tablas de hechos | Tablas de dimensiones | |
|---|---|---|
| En el almacén | ventas, stock_diario | productos, clientes, sucursales |
| Qué guardan | Lo que pasó: fechas, cantidades, montos | Descripciones: nombres, categorías, barrios |
| Cómo crecen | Muchas filas nuevas todos los días | Pocas filas, cambian de vez en cuando |
Las claves: el hilo que une todo
¿Cómo sabe una venta qué producto se vendió? Con una clave. Cada dimensión tiene una clave primaria, su id, que no se repite. Las tablas de hechos guardan claves foráneas, como producto_id, que apuntan a ese id. Así cada dato vive en un solo lugar: si cambia el precio de la yerba, se cambia una vez en productos y no en cada venta.
La estrella y el copo de nieve
⭐ Modelo estrella

La tabla de hechos en el centro y las dimensiones alrededor, cada una a un solo paso. Es simple y rápido de consultar, y es el que usa nuestro almacén. stock_diario es otra estrella que comparte dimensiones: se conecta con productos y sucursales con las mismas claves.
❄️ Modelo copo de nieve

Las dimensiones se dividen en tablas más chicas: la categoría sale de productos a su propia tabla, la ciudad sale de sucursales. Repite menos datos, pero necesitás más uniones para llegar a la información.
¿Y a mí, que analizo, para qué me sirve?
Para ubicarte en cualquier base nueva: buscás las tablas de hechos (ahí están los números), mirás sus claves y ya sabés con qué dimensiones se conectan. En la próxima lección vas a usar esas claves para traer los nombres con JOIN.
Actividad 1
¿Hecho o dimensión?
¿Cada tabla registra cosas que pasan y se miden (hechos) o describe quién, qué o dónde (dimensiones)? Ubicalas.
Hechos
Lo que pasa y se mide
Dimensiones
Quién, qué, dónde
Actividad 2
¿Clave o medida?
Ahora mirá adentro de las tablas de hechos. Cada columna es una clave que apunta a una dimensión o una medida del hecho. ¿Cuál es cuál?
Clave
Apunta a una dimensión
Medida
El número que se analiza
Actividad 3
Explorá la tabla de hechos
Tres misiones cortas para conocer stock_diario. Fijate que, como toda tabla de hechos, guarda claves y no nombres.
stock_diario:fechaDATEsucursal_idINTEGERproducto_idINTEGERstockINTEGERPrimer paso: explorar toda la tabla
Antes de escribir tu consulta, conviene mirar la tabla completa. Esta consulta trae todas las columnas (eso significa el asterisco) y todas las filas:
SELECT * FROM stock_diario;
Cargando la tabla…
Cada fila es una foto del stock: cuántas unidades de un producto quedaban en una sucursal al cierre de un día. Es una tabla de hechos, como ventas: sus columnas sucursal_id y producto_id apuntan a las dimensiones.
Hacelo siempre como primer paso cuando trabajes con una tabla nueva. Si la tabla es enorme, sumale LIMIT 20 para ver solo una muestra, como viste en SQL Inicial.
productos:idINTEGERnombreTEXTcategoriaTEXTprecioREALstockINTEGERPrimer paso: explorar toda la tabla
Antes de escribir tu consulta, conviene mirar la tabla completa. Esta consulta trae todas las columnas (eso significa el asterisco) y todas las filas:
SELECT * FROM productos;
Cargando la tabla…
Mirándola te ubicás: qué columnas hay, cómo están escritos los textos (por ejemplo, 'Lácteos' con mayúscula y tilde) y entre qué valores andan los números. Con eso armás tu consulta sin adivinar. Su id es el número que aparece en ventas.producto_id.
Hacelo siempre como primer paso cuando trabajes con una tabla nueva. Si la tabla es enorme, sumale LIMIT 20 para ver solo una muestra, como viste en SQL Inicial.
sucursales:idINTEGERnombreTEXTbarrioTEXTPrimer paso: explorar toda la tabla
Antes de escribir tu consulta, conviene mirar la tabla completa. Esta consulta trae todas las columnas (eso significa el asterisco) y todas las filas:
SELECT * FROM sucursales;
Cargando la tabla…
Las tres sucursales del almacén. Su id es el número que aparece en ventas.sucursal_id.
Hacelo siempre como primer paso cuando trabajes con una tabla nueva. Si la tabla es enorme, sumale LIMIT 20 para ver solo una muestra, como viste en SQL Inicial.
- 1Explorá la tabla de hechos nueva: mostrá las primeras 5 filas de
stock_diario. - 2¿Cuántas filas tiene
stock_diario? UsáCOUNT(*). - 3¿Cuántas unidades de queso (el producto con
id6) quedaban en la sucursal 1 al cierre del 30 de abril ('2026-04-30')? Mostrá solo elstock.
Tu misión, las tablas, los mensajes y la ayuda están en el panel de la izquierda.
Tocá Ejecutar para ver el resultado.
Chequeo rápido
¿Cuál es la diferencia principal entre el modelo estrella y el copo de nieve?
Pedile a la IA el mapa de una base nueva
Cuando entres a trabajar con una base que no conocés, pasale a Gemini la lista de tablas y columnas, nunca los datos:
Tengo estas tablas: [ventas (id, fecha, cliente_id, producto_id, sucursal_id, cantidad)], [stock_diario (fecha, sucursal_id, producto_id, stock)], [productos (id, nombre, categoria, precio, stock)], [clientes (id, nombre, barrio)] y [sucursales (id, nombre, barrio)]. Decime cuáles son tablas de hechos y cuáles de dimensiones, qué claves las conectan y si es un modelo estrella o copo de nieve.
Compará su respuesta con lo que aprendiste en esta lección.
_id) los conectan. En la estrella cada dimensión está a un paso; en el copo de nieve se divide en tablas más chicas.Ya entendés cómo se organiza una base