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.

5 minutos
ventas

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 hechosTablas de dimensiones
En el almacénventas, stock_diarioproductos, clientes, sucursales
Qué guardanLo que pasó: fechas, cantidades, montosDescripciones: nombres, categorías, barrios
Cómo crecenMuchas filas nuevas todos los díasPocas 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

Modelo estrella: la tabla de hechos ventas en el centro, conectada con productos (producto_id), clientes (cliente_id) y sucursales (sucursal_id)

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

Modelo copo de nieve: ventas en el centro; productos se divide en categorías (categoria_id) y sucursales en ciudades (ciudad_id); clientes se conecta con cliente_id

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.

Columnas de stock_diario:fechaDATEsucursal_idINTEGERproducto_idINTEGERstockINTEGER
Columnas de productos:idINTEGERnombreTEXTcategoriaTEXTprecioREALstockINTEGER
Columnas de sucursales:idINTEGERnombreTEXTbarrioTEXT
  1. 1Explorá la tabla de hechos nueva: mostrá las primeras 5 filas de stock_diario.
  2. 2¿Cuántas filas tiene stock_diario? Usá COUNT(*).
  3. 3¿Cuántas unidades de queso (el producto con id 6) quedaban en la sucursal 1 al cierre del 30 de abril ('2026-04-30')? Mostrá solo el stock.

Tu misión, las tablas, los mensajes y la ayuda están en el panel de la izquierda.

almacen.dbproductosclientessucursalesventasstock_diario
o Ctrl + Enter

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.

Para llevarte: los hechos registran lo que pasa (ventas, stock); las dimensiones describen quién, qué y dónde. Las claves (_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

¿Listo para la próxima lección?