Curso
Si trabajas con almacenes de datos, sabes lo importante que es estructurar los datos de forma que sean eficientes y fáciles de manejar. Pero, ¿has pensado alguna vezer qué esquema de base de datos se adapta mejor a tus necesidades? Hay dos marcos principales que puedes utilizar para ello: el esquema de estrella y el esquema de copo de nieve.
El esquema en estrella es sencillo y rápido, ideal cuando necesitas extraer datos para analizarlos rápidamente. En cambio, el esquema copo de nieve es más detallado. Prioriza la eficiencia del almacenamiento y la gestión de relaciones complejas de datos.
En este artículo, te guiaré a través de las estructuras de estos esquemas, destacaré sus diferencias y desglosaré sus ventajas. Al final, sabrás dónde encaja cada esquema y cómo decidir cuál es el mejor para tus proyectos de datos.
¿Qué es un esquema estrella?
Un esquema en estrella es una forma de organizar los datos en una base de datos, especialmenteen los almacenes de datos, para mhacer más fácil y rápido su análisis. En el centro, hay una tabla principal llamadatabla de hechos , que contiene datos medibles como las ventas o los ingresos. A su alrededor están lastablas de dimensiones , que añaden detalles como nombres de productos, información sobre clientes o fechas. Esta disposición forma una estrella.

Disposición del esquema en estrella. Imagen del autor.
Veamos las características clave del esquema estrella:
- Tablas de dimensiones de un nivel: Las tablas de dimensiones se conectan directamente a la tabla de hechos sin capas adicionales. Cada tabla se centra en un área, como productos, regiones o tiempo, lo que facilita su uso.
- Diseño desnormalizado: En un esquema en estrella, los datos relacionados se almacenan juntos en una tabla utilizando un enfoque desnormalizado. Por ejemplo, una tabla de productos puede incluir el ID del producto, el nombre y la categoría en el mismo lugar. Aunque esto puede suponer cierta repetición de datos, procesa las consultas más rápidamente.
- Común en el almacenamiento de datos: El esquema en estrella se utiliza para un análisis rápido. Puede filtrar o calcular totales fácilmente, por lo que probablemente sea una buena opción para los almacenes de datos en los que se requiere una visión rápida.
Vamos a entenderlo con un sencillo diagrama de esquema en estrella. Latabla de hechos Sales está en el centro. Contiene los datos numéricos que quieres analizar, como las ventas o los beneficios. Conectadas a ella están lastablas de dimensiones con detalles descriptivos, como nombres de productos, ubicación de clientes o fechas:

Ejemplo de esquema estrella. Imagen del autor.
He aquí un sencillo ejemplo SQL para crear un esquema en estrella con una tabla de hechos Sales tabla de hechos y tablas de dimensiones para Product, Customery Date:
-- Fact table
CREATE TABLE Sales (
Sales_ID INT PRIMARY KEY,
Product_ID INT,
Customer_ID INT,
Date_ID INT,
Sales_Amount DECIMAL(10, 2),
FOREIGN KEY (Product_ID) REFERENCES Product(Product_ID),
FOREIGN KEY (Customer_ID) REFERENCES Customer(Customer_ID),
FOREIGN KEY (Date_ID) REFERENCES Date(Date_ID)
);
-- Dimension table: Product
CREATE TABLE Product (
Product_ID INT PRIMARY KEY,
Product_Name VARCHAR(100),
Category VARCHAR(50)
);
-- Dimension table: Customer
CREATE TABLE Customer (
Customer_ID INT PRIMARY KEY,
Customer_Name VARCHAR(100),
Location VARCHAR(50)
);
-- Dimension table: Date
CREATE TABLE Date (
Date_ID INT PRIMARY KEY,
Date DATE,
Year INT,
Month VARCHAR(20)
);
Esta disposición acelera las consultas porque no hay uniones complejas. Por ejemplo, la siguiente consulta recupera las ventas totales agrupadas por ubicación del cliente, aprovechando las uniones simples del esquema estrella:
SELECT c.Location, SUM(s.Sales_Amount) AS TotalSales
FROM Sales s
JOIN Customer c ON s.Customer_ID = c.Customer_ID
GROUP BY c.Location;
Sin embargo, tendrías que aceptar cierta redundancia de datos, ya que las tablas de dimensiones pueden contener información repetida.
Ventajas y limitaciones de un esquema en estrella
Ahora que sabes qué es el esquema estrella, veamos por qué destaca:
- Mayor rendimiento de las consultas: El esquema en estrella simplifica la recuperación de datos haciendo que las consultas sean rápidas. Por ejemplo, si quiero ver las tendencias de ventas, uniré la tabla de hechos con las tablas de dimensiones adecuadas. Y lo mejor es que haré todo esto sin tener que lidiar con relaciones complejas. Esto haría que mis consultas fueran más rápidas y me ahorraría mucho tiempo.
- Fácil de entender: Su estructura es lógica y sencilla de entender, incluso para usuarios no técnicos. Los nuevos miembros del equipo pueden comprender rápidamente qué tablas contienen los datos que necesitan, lo que acelera el análisis y simplifica el mantenimiento.
A pesar de todas las ventajas, el esquema estrella tiene un inconveniente. Como he mencionado antes, debido a la desnormalización, las tablas de dimensiones suelen contener información repetida, lo que aumenta el uso de almacenamiento. Por ejemplo, si varios productos pertenecen a la misma categoría, el nombre de cada producto podría repetirse, ocupando más espacio de almacenamiento.
¿Qué es un esquema Snowflake?
Un esquema de copo de nieve es otra forma de organizar los datos. En este esquema, las tablas de dimensiones se dividen en subdimensiones más pequeñas para mantener los datos más organizados y detallados, como copos de nieve en un gran lago.

Disposición del esquema copo de nieve. Imagen del autor.
Veamos las características clave del esquema copo de nieve que lo diferencian de otros esquemas:
- Tablas de dimensiones de varios niveles: Podemos descomponer nuestras tablas de dimensiones en tablas más pequeñas y específicas. Por ejemplo, si quiero hacer un seguimiento de las ubicaciones de las tiendas, en lugar de poner todos los detalles de ubicación en una tabla grande, puedo dividirlos en tablas separadas para países, estados y ciudades. De este modo, cada tabla contendría sólo la información que necesita para reducir la redundancia y mejorar la organización.
- Normalización para la eficiencia del almacenamiento: A diferencia del esquema en estrella, el esquema en copo de nieve permite un diseño normalizado, conlo que se evita la duplicación de datos. Por ejemplo, en lugar de repetir una categoría de producto como
Electronicspara cada producto, puedo almacenar la categoría en una tabla independiente y vincularla a productos individuales. - Idoneidad para entornos de datos complejos: El esquema copo de nieve funciona mejor en entornos de datos complejos porque utiliza tablas de varios niveles para manejar relaciones intrincadas y estructuras de datos jerárquicas.
Vamos a entenderlo con un sencillo diagrama de esquema de copo de nieve. En el centro está la tabla de hechos, que contiene datos medibles. Se conecta a tablas de dimensiones que describen los hechos, y estas tablas de dimensiones se ramifican a su vez en tablas de subdimensiones, formando una estructura similar a un copo de nieve.
Por ejemplo, aquí he dividido latabla Product en lastablas Manufacturer y Category y latabla Customer enlas tablas Transaction y Location :

Ejemplo de esquema copo de nieve. Imagen del autor.
He aquí un ejemplo SQL que ilustra un esquema copo de nieve en el que la tabla Product se normaliza en Category y Manufacturer tablas:
-- Fact table remains the same
CREATE TABLE Sales (
Sales_ID INT PRIMARY KEY,
Product_ID INT,
Customer_ID INT,
Date_ID INT,
Sales_Amount DECIMAL(10, 2),
FOREIGN KEY (Product_ID) REFERENCES Products(Product_ID),
FOREIGN KEY (Customer_ID) REFERENCES Customers(Customer_ID),
FOREIGN KEY (Date_ID) REFERENCES Dates(Date_ID)
);
-- Dimension table: Product
CREATE TABLE Product (
Product_ID INT PRIMARY KEY,
Product_Name VARCHAR(100),
Category_ID INT,
Manufacturer_ID INT,
FOREIGN KEY (Category_ID) REFERENCES Category(Category_ID),
FOREIGN KEY (Manufacturer_ID) REFERENCES Manufacturer(Manufacturer_ID)
);
-- Sub-dimension table: Category
CREATE TABLE Category (
Category_ID INT PRIMARY KEY,
Category_Name VARCHAR(50)
);
-- Sub-dimension table: Manufacturer
CREATE TABLE Manufacturer (
Manufacturer_ID INT PRIMARY KEY,
Manufacturer_Name VARCHAR(100)
);
La siguiente consulta calcula las ventas totales por categoría de producto. Aunque implica más uniones que el esquema estrella, es más eficiente en almacenamiento:
SELECT cat.Category_Name, SUM(s.Sales_Amount) AS TotalSales
FROM Sales s
JOIN Product p ON s.Product_ID = p.Product_ID
JOIN Category cat ON p.Category_ID = cat.Category_ID
GROUP BY cat.Category_Name;
Ventajas y limitaciones de un esquema de copo de nieve
Al igual que el esquema estrella, el esquema copo de nieve también tiene sus propias ventajas. Veamos cuáles son:
- Menos redundancia de datos: La normalización garantiza que los mismos datos no se almacenen varias veces, lo que reduce la duplicación.
- Almacenamiento eficiente para grandes conjuntos de datos: Este esquema ahorra espacio de almacenamiento al evitar los datos repetidos, por lo que es ideal para gestionar grandes conjuntos de datos.
Sin embargo, a pesar de sus ventajas, también tiene algunas limitaciones. Por ejemplo,las consultas a pueden ser más lentas porque hay más uniones entre tablas. Aparte de esto, la estructura multinivel es más difícil de diseñar y mantener que esquemas más sencillos como el esquema estrella. Por tanto, hazlo sólo si tienes un equipo de DBA con experiencia.
Te recomiendo que consultes el curso de Diseño de Bases de Datos si quieres aprender más sobre cómo estructurar eficazmente los datos para su análisis.
Diferencias entre el esquema estrella y el esquema copo de nieve
Tanto los esquemas en estrella como en copo de nieve se utilizan mucho en el almacenamiento de datos, pero sus características únicas los hacen adecuados para necesidades diferentes. Veamos en qué se diferencian estos esquemas en cuanto a estructura, rendimiento, requisitos de almacenamiento y casos de uso.
Estructura
Todas las tablas de dimensiones se conectan directamente a una tabla de hechos central en un esquema en estrella. Esto significa que todos tus datos de referencia están a un paso de tus datos principales, lo que facilita su comprensión y el trabajo con ellos.
En comparación, un esquema de copo de nieve divide las tablas de dimensiones en tablas de subdimensiones más pequeñas y específicas. Por ejemplo, puedes tener tablas separadas para países, estados y ciudades en lugar de una tabla de ubicación. Aunque esto crea una estructura más organizada y detallada, también significa que se necesitan más conexiones (o uniones) para acceder a tus datos, razón principal por la que el esquema en copo de nieve es más complejo que el esquema en estrella.
Rendimiento
Cuando se trata de velocidad, los esquemas en estrella son mejores. Como todas las tablas de dimensiones se conectan directamente a la tabla de hechos, las consultas requieren menos uniones, lo que se traduce en un rendimiento más rápido. Supongamos que quieres analizar las ventas por regiones: en este caso, puedes utilizar el esquema en estrella para recuperar los datos con un procesamiento mínimo.
Por el contrario, los esquemas Snowflake son más lentos porque tienes que conectarte a través de varias tablas para recuperar los datos. Cada unión añade tiempo de procesamiento, lo que hace que los esquemas copo de nieve sean menos eficientes para tareas que requieren resultados rápidos de consulta.
El curso Unir datos en SQL es un excelente manual para aprender a unir tablas, aplicar la teoría de conjuntos relacionales y trabajar con subconsultas.
Requisitos de almacenamiento
Los esquemas en estrella ocupan más espacio de almacenamiento porque almacenan información redundante en las tablas de dimensiones. Por ejemplo, si varios productos pertenecen a la misma categoría, el nombre de la categoría se repetirá para cada producto, aumentando las necesidades de almacenamiento.
Sin embargo, los esquemas copo de nieve normalizan los datos para almacenar toda la información una sola vez. Por ejemplo, en lugar de repetir los nombres de las categorías, se almacenan en una tabla independiente y se vinculan a la tabla de productos mediante claves externas. Este diseño ahorra espacio de almacenamiento, por lo que es ideal para grandes conjuntos de datos.
Casos prácticos
Los esquemas en estrella son ideales para los sistemas de procesamiento analítico en línea (OLAP), los informes y las tareas de inteligencia empresarial. Su sencillez los hace perfectos para situaciones en las que la velocidad y la facilidad de uso son importantes, como la generación rápida de cuadros de mando o informes de ventas.
Los esquemas copo de nieve suelen utilizarse para análisis financieros o sistemas de gestión de relaciones con los clientes (CRM). En estos casos, organizar jerarquías detalladas y ahorrar espacio de almacenamiento es más importante que la velocidad de consulta.
Cuándo utilizar un esquema estrella
Si principalmente quieres organizar tus datos de forma sencilla y rápida, el esquema estrella sería perfecto. A continuación te indicamos cuándo puedes utilizarlo:
- Si quieres realizar consultas sencillas, como encontrar las ventas totales por región, utiliza el esquema estrella. Como todas las tablas de dimensiones conectan directamente con la tabla de hechos, se evita la complejidad innecesaria y se obtienen respuestas más rápidamente.
- Incluso puedes utilizar el esquema estrella cuando tu prioridad sea la velocidad. Minimiza el número de uniones de tablas, para que tus consultas se ejecuten más rápido. Lo utilicé una vez para generar varios informes de ventas, ahorrándome mucho tiempo en comparación con otros diseños.
- Si tu conjunto de datos es pequeño o mediano, la redundancia del esquema estrella no será un problema. Incluso con datos repetidos, funcionaría bien sin saturar tu almacenamiento.
Cuándo utilizar un esquema copo de nieve
El esquema Copo de Nieve es más adecuado para gestionar actualizaciones frecuentes u organizar jerarquías detalladas. A continuación te indicamos cuándo puedes utilizarlo:
- Utiliza el esquema copo de nieve si trabajas con grandes conjuntos de datos y quieres ahorrar espacio de almacenamiento. Normaliza las tablas de dimensiones para evitar datos repetidos, lo que reduce las necesidades de almacenamiento.
- Incluso puedes utilizar el esquema copo de nieve si tus datos cambian a menudo, como al actualizar los nombres de las regiones. Mantiene actualizaciones coherentes en todos los datos relacionados para minimizar los errores y los esfuerzos de mantenimiento.
- Si tu análisis implica varios niveles de datos, el esquema de copo de nieve puede ayudarte a organizar y representar estas relaciones de forma sencilla.
Tabla resumen: Esquema estrella vs. Esquema de copo de nieve
He aquí una rápida comparación de los esquemas estrella y copo de nieve para ayudarte a decidir cuál se adapta mejor a tus necesidades de datos. He destacado las principales diferencias en esta tabla, centrándome en su estructura, rendimiento, almacenamiento y casos de uso:
|
Función |
Esquema estrella |
Esquema de copo de nieve |
|
Estructura |
Tabla de hechos central vinculada a dimensiones desnormalizadas |
Tabla de hechos central vinculada a dimensiones normalizadas |
|
Complejidad |
Simple, con menos uniones |
Complejo, con más uniones |
|
Redundancia de datos |
Mayor redundancia debido a las dimensiones desnormalizadas |
Menor redundancia gracias a las dimensiones normalizadas |
|
Rendimiento de la consulta |
Consultas más rápidas gracias a una estructura más sencilla |
Consultas más lentas debido a las uniones adicionales |
|
Almacenamiento |
Requiere más almacenamiento debido a la redundancia |
Requiere menos almacenamiento debido a la normalización |
|
Facilidad de mantenimiento |
Más fácil de diseñar y mantener |
Más complejos de diseñar y mantener |
|
Más adecuado para |
Conjuntos de datos pequeños y medianos |
Conjuntos de datos grandes y complejos |
Reflexiones finales
En este blog, he tratado las diferencias entre los esquemas de estrella y copo de nieve, sus puntos fuertes y cuándo utilizar cada uno. ¡Espero que tengas una comprensión clara y consejos prácticos para tu trabajo! Si quieres saber más, consulta estos recursos en DataCamp:
- El curso Introducción al modelado de datos en Snowflake te ayudará a sentar las bases para trabajar con Snowflake.
- El curso Modelado de Datos en Power BI para organizar y gestionar datos en Power BI.
- El itinerario de conocimientos de Ingeniero de Datos Asociado en SQL para llevar tus conocimientos de SQL al siguiente nivel.
Conviértete en Ingeniero de Datos
Preguntas frecuentes
¿Cuál es la finalidad de la indexación en estos esquemas?
La indexación mejora el rendimiento de las consultas en ambos esquemas al agilizar la recuperación de datos.
¿Qué se entiende por tablas de dimensiones y tablas de hechos?
Las tablas de dimensiones almacenan atributos descriptivos (como nombres de productos o fechas) que describen los datos de la tabla de hechos.
Por otro lado, las tablas de hechos almacenan datos cuantitativos, como cifras de ventas o importes de transacciones, y se conectan con tablas de dimensiones.
¿Son adecuados estos esquemas para los datos no estructurados?
No, estos esquemas están diseñados para datos estructurados. Los datos no estructurados requieren modelos diferentes, como NoSQL o los lagos de datos.
¿Cómo puedo diseñar esquemas de estrella y copo de nieve?
Para crear y visualizar estos esquemas, puedes utilizar herramientas de modelado de datos (ERDPlus), herramientas de BI (Tableau, Power BI, QlikView) o plataformas en la nube (Databricks).
¿Existen alternativas a los esquemas de estrella y copo de nieve?
Sí, puedes utilizar esquemas Galaxy, modelado Data Vault o modelos dimensionales más complejos. Estas opciones difieren principalmente en la organización de los datos y en el tratamiento de las relaciones entre las distintas informaciones.
Soy una estratega de contenidos a la que le encanta simplificar temas complejos. He ayudado a empresas como Splunk, Hackernoon y Tiiny Host a crear contenidos atractivos e informativos para su público.


