- Esquema en estrella
-
Esquema 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.
Contenido
Razones a favor del esquema en estrella
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
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.anyo
- D_almacen.país
- D_producto.categoría
- D_producto.marca
La siguiente instrucción SQL obtendría como 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 = 2006 AND P.categoria = 'tv' GROUP BY P.marca, A.pais
Este ejemplo ilustra como se realizaría un análisis de datos a partir del esquema diseñado
Referencias
- Darmawikarta, Djoni (2007); Dimensional Data Warehousing with MySQL, Pub. BrainySoftware. ISBN 0975212826.
Véase también
Enlaces externos
Categorías: Bases de datos | Modelos de bases de datos | Gestión
Wikimedia foundation. 2010.