Esquema en estrella

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Ejemplo de modelo de datos en estrella.

En las bases de datos usadas para data warehousing, un esquema en estrella es un modelo de datos que tiene una tabla de hechos (o tabla fact) que contiene los datos para el análisis, rodeada de las tablas de dimensiones. Este aspecto, de tabla de hechos (o central) más grande rodeada de radios o tablas más pequeñas es lo que asemeja a una estrella, dándole nombre a este tipo de construcciones.

Las tablas de dimensiones tendrán siempre una clave primaria simple, mientras que en la tabla de hechos, la clave principal estará compuesta por las claves principales de las tablas dimensionales.

Razones a favor del esquema en estrella[editar]

Este esquema es ideal por su simplicidad y velocidad para ser usado en análisis multidimensionales (OLAP, Datamarts, EIS, ...). Permite acceder tanto a datos agregados como de detalle.

El diseño de esquemas en estrella permite implementar la funcionalidad de una base de datos multidimensional utilizando una clásica base de datos relacional (más extendidas que las multidimensionales).

Otra razón para utilizar los esquemas en estrella es su simplicidad desde el punto de vista del usuario final. Las consultas no son complicadas, ya que las condiciones y las uniones (JOIN) necesarias sólo involucran a la tabla de hechos y a las de dimensiones, no haciendo falta que se encadenen uniones y condiciones a dos o más niveles como ocurriría en un esquema en copo de nieve. En la mayoría de los casos son preferibles los de estrellas por su simplicidad respecto a los de copo de nieve por ser más fáciles de manejar.

Finalmente, es la opción con mejor rendimiento y velocidad pues permite indexar las dimensiones de forma individualizada sin que repercuta en el rendimiento de la base de datos en su conjunto.

Ejemplo[editar]

Considerar una base de datos de 'ventas' (de una cadena de grandes almacenes) clasificados por fecha, almacén y producto.

TH_ventas es la tabla de hechos, y tiene tres dimensiones, representadas por la tablas D_fecha, D_almacen, y D_producto.

Cada tabla de dimensión tiene una clave primaria denominada id. En la tabla de hechos TH_ventas los campos clave de las tablas de dimensión aparecerán como clave ajena (id_fecha, id_almacen y id_producto) y todos juntos formarán la clave principal de dicha tabla.

Otras columnas de datos incluidas en las tablas descritas serían:

  • TH_ventas.unidades_vendidas
  • D_fecha.año
  • D_almacen.país
  • D_producto.categoría
  • D_producto.marca

La siguiente instrucción SQL obtendría cómo han sido vendidos algunos conjuntos de televisores, para cada marca y país, en el año 2006.

SELECT
  P.marca, A.pais, SUM(TH.unidades_vendidas)
FROM
  TH_ventas TH
  INNER JOIN D_fecha F ON F.id = TH.id_fecha
  INNER JOIN D_almacen A ON A.id = TH.id_almacen
  INNER JOIN D_producto P ON P.id = TH.id_producto
WHERE
  F.anyo = 2023 
  AND 
  P.categoria = 'tv'
GROUP BY
  P.marca, A.pais

Este ejemplo ilustra cómo se realizaría un análisis de datos a partir del esquema diseñado

Referencias[editar]

Véase también[editar]

Enlaces externos[editar]