Un esquema es una descripción lógica de toda la base de datos. Incluye el nombre y la descripción de todos los tipos de registros, incluidos todos los miembros y agregados de datos asociados. Como una base de datos, DW también requiere soporte de esquema. La base de datos usa el modelo relacional, mientras que DW usa los esquemas Star, Snowflake y Fact Constellation (esquema Galaxy).
En un esquema en estrella, hay varias tablas de dimensiones en forma no normalizada que se concatenan con una sola tabla de hechos. Estas tablas se combinan de manera lógica para cumplir con algunos requisitos comerciales con fines de análisis. Estos diagramas son estructuras multidimensionales que se utilizan para crear informes utilizando herramientas de informes de BI.
Las dimensiones en los esquemas en estrella contienen un conjunto de atributos y las tablas de hechos contienen claves externas para todas las dimensiones y valores de dimensión.
El esquema en estrella anterior tiene una tabla de hechos de hechos de ventas en el centro que está conectada a tablas de 4 dimensiones usando claves primarias. Las tablas de dimensiones no se normalizan más y esta combinación de tablas se conoce como esquema en estrella en DW.
La tabla de hechos también contiene los valores métricos: dollar_sold y units_sold.
El esquema de Snowflakes tiene varias tablas de dimensiones en forma normalizada que se combinan con una sola tabla de hechos. Estas tablas se combinan lógicamente para cumplir con algunos requisitos comerciales con fines de análisis.
La única diferencia entre los esquemas Star y Snowflakes es que las tablas de dimensiones también están normalizadas. La normalización divide los datos en tablas adicionales. La normalización en el esquema Snowflake reduce la redundancia de datos sin perder información, lo que facilita el mantenimiento y el ahorro de espacio de almacenamiento.
En el ejemplo de esquema de Snowflakes anterior, las tablas Producto y Cliente se normalizan aún más para ahorrar espacio de almacenamiento. A veces, también proporciona optimizaciones de rendimiento cuando ejecuta una consulta que requiere procesar filas directamente en la tabla normalizada, por lo que no procesa filas en la tabla de dimensiones principal y va directamente a la tabla normalizada en el esquema.
La granularidad en una tabla representa el nivel de información almacenada en una tabla. Una granularidad de datos significa que los datos están a nivel de transacción, o casi a nivel de transacción, que tiene información más detallada. La granularidad baja significa que los datos tienen un nivel de información bajo.
La tabla de hechos suele estar diseñada con un nivel de detalle bajo. Esto significa que necesitamos encontrar el nivel más bajo de información que se pueda almacenar en la tabla de hechos. En una dimensión de fecha, el nivel de detalle puede ser año, mes, trimestre, período, semana y día.
El proceso de determinación de la granularidad consta de dos etapas:
El cambio de tamaño lento se refiere al cambio en el valor de un atributo a lo largo del tiempo. Este es uno de los conceptos generales de DW.
Andy es un empleado de XYZ Inc. Llegó por primera vez a Nueva York en julio de 2015. El registro original en la tabla de búsqueda de empleados tiene el siguiente registro:
ID de empleado | 10001 |
---|---|
Nombre | Andy |
Localización | Nueva York |
Luego se mudó a Los Ángeles, California. Cómo XYZ Inc. ¿Debería modificar ahora su tabla de empleados para reflejar este cambio?
Esto se conoce como el concepto de «dimensión que cambia lentamente».
Hay tres formas de resolver este problema:
La nueva entrada reemplaza a la original. No existe rastro del antiguo registro.
Cambiando el tamaño lentamente, la nueva información simplemente sobrescribe el original. En otras palabras, no se guarda la historia.
ID de empleado | 10001 |
---|---|
Nombre | Andy |
Localización | Los Angeles, California |
Beneficio – Ésta es la forma más sencilla de solucionar el problema del tamaño que cambia lentamente, ya que no es necesario realizar un seguimiento de la información antigua.
Desventaja – Se pierde toda la información histórica.
Usar – La Solución 1 debe usarse cuando DW no necesita rastrear información histórica.
El nuevo registro se ingresa en la tabla de dimensiones Empleado. Entonces, el empleado Andy es tratado como dos personas.
Se agrega un nuevo registro a la tabla para representar la nueva información, con el registro original y el nuevo presente. El nuevo registro obtiene su propia clave primaria como esta:
ID de empleado | 10001 | 10002 |
---|---|---|
Nombre | Andy | Andy |
Localización | Nueva York | Los Angeles, California |
Beneficio – Este método nos permite almacenar toda la información histórica.
Desventaja – El tamaño de la mesa crece más rápido. Cuando el número de filas de una tabla es muy grande, el espacio de la tabla y el rendimiento pueden ser un problema.
Usar – La Solución 2 debe usarse cuando DW necesite almacenar datos históricos.
El registro original en la dimensión Empleado se modifica para reflejar este cambio.
Habrá dos columnas para indicar un atributo específico: una indica el valor original y la otra indica el nuevo valor. También habrá una columna que indica cuándo se activará el valor actual.
ID de empleado | Nombre | Ubicación original | Nuevo lugar | Fecha de mudanza |
---|---|---|---|---|
10001 | Andy | Nueva York | Los Angeles, California | Julio de 2015 |
Beneficios – Esto no aumenta el tamaño de la tabla a medida que se actualiza nueva información. Esto nos permite almacenar información histórica.
Desventaja – Este método no guarda el historial completo cuando el valor del atributo se cambia más de una vez.
Usar – La Solución 3 solo debe usarse cuando se requiera DW para almacenar información histórica de cambios.
La normalización es el proceso de descomponer una tabla en tablas más pequeñas y menos redundantes sin perder información. Por lo tanto, la normalización de la base de datos es el proceso de organizar los atributos y las tablas de la base de datos para minimizar la redundancia de datos (duplicación de datos).
Se utiliza para eliminar ciertos tipos de datos (redundancia / replicación) para mejorar la coherencia.
Proporciona la máxima flexibilidad para satisfacer las necesidades de información futuras al almacenar tablas correspondientes a los tipos de objetos en sus formas simplificadas.
Esto crea un modelo de datos más claro y legible.
Rendimiento deficiente de la consulta de la base de datos porque se deben realizar uniones para recuperar los datos adecuados de varias tablas normalizadas.
Debe comprender el modelo de datos para realizar uniones correctas en varias tablas.
En el ejemplo anterior, la tabla dentro del cuadro verde es una tabla normalizada dentro del cuadro rojo. La tabla del cuadro verde es menos redundante y también tiene menos filas sin pérdida de información.
🚫