En informática , el esquema en estrella o modelo en estrella es el estilo más simple de esquema de almacén de datos y es el enfoque más utilizado para desarrollar almacenes de datos y almacenes de datos dimensionales. [1] El esquema en estrella consiste en una o más tablas de hechos que hacen referencia a cualquier número de tablas de dimensiones . El esquema en estrella es un caso especial importante del esquema de copo de nieve y es más eficaz para manejar consultas más simples. [2]
El esquema de estrella recibe su nombre de la semejanza del modelo físico [3] con una forma de estrella con una tabla de hechos en su centro y las tablas de dimensiones que la rodean representan los puntos de la estrella.
El esquema en estrella separa los datos de los procesos de negocio en hechos, que contienen datos cuantitativos medibles sobre una empresa, y dimensiones, que son atributos descriptivos relacionados con los datos de hechos. Algunos ejemplos de datos de hechos son el precio de venta, la cantidad de venta y las mediciones de tiempo, distancia, velocidad y peso. Algunos ejemplos de atributos de dimensión relacionados son los modelos de productos, los colores de los productos, los tamaños de los productos, las ubicaciones geográficas y los nombres de los vendedores.
Un esquema en estrella que tiene muchas dimensiones a veces se denomina esquema ciempiés . [4] Tener dimensiones de solo unos pocos atributos, si bien es más simple de mantener, da como resultado consultas con muchas uniones de tablas y hace que el esquema en estrella sea menos fácil de usar.
Las tablas de hechos registran mediciones o métricas para un evento específico. Las tablas de hechos generalmente consisten en valores numéricos y claves externas a datos dimensionales donde se guarda información descriptiva. [4] Las tablas de hechos están diseñadas para un bajo nivel de detalle uniforme (conocido como "granularidad" o " grano "), lo que significa que los hechos pueden registrar eventos a un nivel muy atómico. Esto puede resultar en la acumulación de una gran cantidad de registros en una tabla de hechos a lo largo del tiempo. Las tablas de hechos se definen como uno de tres tipos:
Por lo general, a las tablas de hechos se les asigna una clave sustituta para garantizar que cada fila se pueda identificar de forma única. Esta clave es una clave principal simple.
Las tablas de dimensiones suelen tener una cantidad relativamente pequeña de registros en comparación con las tablas de hechos, pero cada registro puede tener una gran cantidad de atributos para describir los datos de hechos. Las dimensiones pueden definir una amplia variedad de características, pero algunos de los atributos más comunes definidos por las tablas de dimensiones incluyen:
A las tablas de dimensión generalmente se les asigna una clave principal sustituta , normalmente un tipo de datos entero de una sola columna, asignada a la combinación de atributos de dimensión que forman la clave natural.
Los esquemas en estrella están desnormalizados , lo que significa que las reglas típicas de normalización aplicadas a las bases de datos relacionales transaccionales se relajan durante el diseño y la implementación de esquemas en estrella. Los beneficios de la desnormalización de esquemas en estrella son:
Considere una base de datos de ventas, tal vez de una cadena de tiendas, clasificada por fecha, tienda y producto. La imagen del esquema a la derecha es una versión en forma de estrella del esquema de muestra que se proporciona en el artículo sobre el esquema de copos de nieve .
Fact_Sales
es la tabla de hechos y hay tres tablas de dimensiones Dim_Date
, Dim_Store
y Dim_Product
.
Cada tabla de dimensiones tiene una clave principal en su Id
columna, relacionada con una de las columnas (vistas como filas en el esquema de ejemplo) de Fact_Sales
la clave principal de tres columnas (compuesta) de la tabla ( Date_Id
, Store_Id
, Product_Id
). La columna de clave no principal Units_Sold
de la tabla de hechos en este ejemplo representa una medida o métrica que se puede utilizar en cálculos y análisis. Las columnas de clave no principal de las tablas de dimensiones representan atributos adicionales de las dimensiones (como el Year
de la Dim_Date
dimensión).
Por ejemplo, la siguiente consulta responde cuántos televisores se vendieron, por cada marca y país, en 1997:
SELECCIONAR P. Marca , S. País AS Países , SUMA ( F. Unidades_Vendidas ) DESDE Fact_Sales F UNIÓN INTERNA Dim_Date D ON ( F . Date_Id = D . Id ) UNIÓN INTERNA Dim_Store S ON ( F . Store_Id = S . Id ) UNIÓN INTERNA Dim_Product P ON ( F . Product_Id = P . Id ) DONDE D . Año = 1997 Y P . Categoría_de_producto = 'tv' GRUPO POR P. Marca , S. País