Esquema de estrella y esquema de copo de nieve para almacén de datos
En una entrevista reciente, me preguntaron sobre el modelo de estrella y el modelo de copo de nieve, y luego consideré el modelo de constelación como el modelo de copo de nieve... Para consolidar mis conocimientos en esta área, decidí para escribir un artículo, grabémoslo.
El modelo de estrella, el modelo de copo de nieve y el modelo de constelación son tres modelos importantes en el modelado dimensional del almacén de datos. A continuación, hablemos de sus características y sus relaciones entre sí.
El esquema en estrella consta de una tabla de hechos y tablas de múltiples dimensiones. La tabla de hechos incluye cada clave primaria (generalmente id) de la tabla de dimensiones, así como otro contenido que no se incluye en la tabla de dimensiones, la tabla de dimensiones almacena información detallada de las dimensiones correspondientes.
Tomando una tabla de compras como ejemplo, principalmente necesita registrar la siguiente información:
Dado que los usuarios, artículos y tiendas tienen su propia información detallada, si todos Ponerla en la tabla de compras provocará mucha redundancia y dificultará su mantenimiento en el futuro. (Imagínese si el usuario necesita agregar campos más adelante). Por lo tanto, en este momento, puede usar el modelo en estrella para colocar esta información detallada en la tabla de dimensiones. La tabla de compras como tabla de hechos solo conserva la identificación del usuario, la identificación del artículo y la tienda. DNI y hora de compra. (El tiempo de compra no se puede dividir en dimensiones, por lo que aún se coloca en la tabla de hechos)
La estructura general del modelo se puede mostrar de la siguiente manera:
Puede ver que hay siempre uno Una tabla de hechos y tablas de tres dimensiones usuario, artículo y tienda. Cuando todas las tablas de dimensiones están conectadas a la tabla de hechos, todo el modelo tiene forma de estrella, por lo que se denomina modelo de estrella.
En el esquema en estrella, la tabla de dimensiones incluye toda la información de la dimensión. Debido a que no hay capas, puede haber redundancia en la tabla de dimensiones.
Para reducir la redundancia de las tablas de dimensiones, podemos utilizar el modelo de copo de nieve. Según el esquema en estrella, el modelo de copo de nieve divide aún más algunos campos en la tabla de dimensiones para reducir la redundancia y hacerlo más jerárquico.
Tomando la tabla de compras anterior como ejemplo, supongamos que hay varios campos en la tabla de la tienda que almacenan la información de ubicación de la tienda: {provincia, ciudad, ubicación específica}. Se puede ver que estos campos en realidad se pueden atribuir al atributo "provincia", por lo que podemos dividir estos campos para formar una nueva tabla de dimensiones "Provincia". Esta tabla de dimensiones está conectada a la tabla de dimensiones de la tienda, no a la tabla de hechos en sí. Desde cierta perspectiva, el modelo de copo de nieve divide la tabla de dimensiones, que es similar al esquema de estrella que divide la tabla de hechos.
Para la tabla de compras, el modelo de copo de nieve dividido es como se muestra en la figura:
Aquí puedes ver que hay una nueva tabla de dimensiones. Cuando se dividen más tablas de dimensiones, se puede ver que todo el gráfico del modelo se expandirá como un copo de nieve, por lo que este modelo se denomina modelo de copo de nieve.
El modelo de constelación es una extensión del modelo de estrella (puede verse como un modelo de estrella con múltiples versiones de tablas de hechos). Una de sus características es que múltiples tablas de hechos utilizan las tablas de dimensiones adecuadas en el modelo. para situaciones más complejas que el modelo de estrella y el modelo de copo de nieve.
Una de las razones por las que antes confundí el modelo de constelación y el modelo de copo de nieve es que sus formas expandidas son algo similares desde una perspectiva gráfica, cada tabla de hechos puede considerarse como una estrella. una constelación, debido a que hay múltiples estrellas, es necesario que existan múltiples tablas de hechos. El modelo de copo de nieve puede entenderse como una forma que se expande continuamente hacia afuera desde el centro del copo de nieve (la tabla de hechos). De esta forma no volverás a confundirlos si los recuerdas.