Skip to content

Esquema de estrella

Un esquema de estrella acomoda los datos para analizar: una tabla de hechos con eventos, como ventas, al centro, unida por llaves a tablas de dimensiones (cliente, producto, fecha) que los describen.

Selecciona cualquier frase de aquí para preguntarle a tu Maestro.

dim_customer se reconstruye cada noche desde el CRM. Un cliente pidió en julio cuando vivía en el Norte y en agosto se mudó a Occidente. En las ventas del trimestre por región, ¿dónde cuentan sus pedidos de julio?

Una tostadora de café en línea, julio a septiembre. La tabla de hechos se une a dim_customer para sacar la región. Datos de ejemplo.

Para qué sirve: para que las preguntas de negocio salgan con consultas simples. En vez de unir diez tablas del sistema, unes la tabla de hechos con las dimensiones que necesitas. Es la forma que recomiendan herramientas como Power BI.

Hechos y dimensiones: la tabla de hechos guarda eventos con números que se suman (ventas, cantidades) y una llave por cada dimensión. Las dimensiones describen quién, qué y cuándo. Lo primero es decidir la granularidad: qué es una fila del hecho.

Se arma en tu base de datos con SQL, muchas veces con dbt.

Así se usa

La estrella

Las ventas de la tostadora, en estrella

  1. marcado: fct_order_lines: una fila por producto en cada pedidoEl centro: lo que pasó, con los números que sumas.
  2. → dim_customer por customer_key: nombre, correo, regiónPor dónde agrupas y filtras.
  3. → dim_product por product_key: café, tueste, presentaciónCada dimensión describe un lado del hecho.
  4. → dim_date por date_key: día, mes, trimestreUna fila por día, para no recalcular fechas en cada consulta.
Los hechos son lo que pasó y se suman; las dimensiones son lo que usas para agrupar y filtrar. Cada consulta une el centro con las puntas que necesita.

Una consulta sobre la estrella

ventas_por_region.sql

  1. marcado: select c.region, sum(f.net_revenue) as ventasEl número sale del hecho; el grupo, de la dimensión.
  2. from fct_order_lines f
  3. join dim_customer c on c.customer_key = f.customer_keyUna unión por llave, siempre igual.
  4. group by c.region
La misma forma sirve para ventas por producto o por mes: cambias la dimensión, no la tabla de hechos.

Cuándo mirar más de cerca

El envío en cada línea

El envío del trimestre

  1. marcado: Desde la tabla de pedidos: $71,564.00

El envío se guarda una vez por pedido. ¿Qué pasa si lo sumas desde una tabla con una fila por producto?

Pregúntale a tu Maestro sobre Esquema de estrella

Te responde desde la página gratis más cercana a esta palabra, igual que mientras estudias.

Ejemplo

Tú: ¿Qué quiere decir "Esquema de estrella", en palabras sencillas?

Tu Maestro: Te lo explico con un caso tuyo, que se queda mejor que una definición. ¿Qué pregunta de tu trabajo hoy necesita unir cinco tablas?

Pregunta sobre: Responde desde la página "¿Qué es el análisis exploratorio de datos y qué hago primero con una tabla nueva?"

Solo este navegador guarda lo que preguntas aquí. ¿Cómo funciona?

Para saber más

  • Granularidad (de una tabla)

    Lo que representa una fila de una tabla: una persona, una transacción, un planeta, una persona por lenguaje. Contar filas solo cuenta lo que quieres si conoces la granularidad.

  • Base de datos

    Una base de datos guarda datos en tablas conectadas, con reglas para cada columna, para que muchas personas y programas los usen y cambien sin pisarse.

  • SQL

    SQL es el lenguaje para pedirle datos a una base de datos: qué columnas, de qué tabla, qué filas y cómo resumirlas. Te regresa otra tabla.

  • Power BI

    Power BI es la herramienta de Microsoft para conectar datos de varias fuentes y armar reportes y dashboards interactivos que tu equipo abre en línea.

Todo el glosario