Manual del estudiante de Ingeniería en Sistemas de UTN/Sistemas de Gestión II/Unidad Temática 3

Data Warehouse: Modelado Dimensional

editar

Ejercicio 1

editar

La base de datos del sistema de registros de operaciones de las plantas de producción de una industria láctea, que posee varias plantas ubicadas en distintas localidades, contiene los siguientes datos:

  • Planta: IDplanta, nombre, localidad, departamento, provincia.
  • Recibo leche: IDplanta, IDtambo, fecha, kilogramos, grasa butirométrica, sólidos totales.
  • Producción: IDproducto, IDlote, IDplanta, IDalmacen, kilogramos, kilogramos de leche utilizada.
  • Inventario (fin del día): IDproducto, IDlote, IDalmacen, fecha, kilogramos.
  • Despacho: IDalmacen (origen), IDalmacen (destino), fecha, kilogramos, IDproducto, IDlote.
  • Despacho exportación: IDproducto, IDlote, país, fecha, kilogramos.
  • Producto: IDproducto, nombre, envase, rubro, sub-rubro.
  • Almacén: IDalmacen, nombre, localidad, departamento, provincia.
  • Lote: IDlote, fecha elaboración, fecha vencimiento.
  • País: IDpais, nombre.

Requerimientos

editar
  • Kilogramos de leche procesados diariamente por producto, por localidad. (1)
  • Rendimiento promedio diario (kg producto)/(kg leche) por producto, por planta. (2)
  • Rendimiento promedio mensual (kg producto)/(kg sólidos totales) por producto, por planta. (3)
  • Kilogramos diarios en inventario por rubro de producto, por almacén. (4)
  • Número promedio de días útiles del inventario (fecha vencimiento – fecha actual) por producto, por almacén por día. (5)
  • Kilogramos exportados por rubro de producto, por país destino, por año. (6)
  • Distribución de los productos (según almacén destino) en kilogramos mensuales, por sub-rubro de producto, por localidad. (7)
  • Porcentaje de la producción exportada anualmente por rubro de producto por país destino. (8)
  • Kilogramos de leche recibida por departamento. (9)

Consigna

editar
  1. Desarrollar un modelo dimensional de datos que se ajuste a los requerimientos (no inferir otros requerimientos)
  2. Describir cómo generaría los requerimientos a partir de las Tablas de Hechos, detallando como se harían las agregaciones de los hechos respectivos (suma, promedio, etc) y el nivel de agregación de cada dimensión.

El modelo dimensional

editar
Hechos
editar
Hecho Requerimientos satisfechos
Leche procesada 1
Producción 2, junto con la leche procesada
Sólidos procesados 3, junto con la producción
Inventario al final del día 5
Días útiles del inventario 6
Distribución de los productos 7
Exportación 8, junto con la producción
Recepción de leche 9

En resumen, los hechos a registrar son:

  • Leche procesada  
  • Producción  
  • Sólidos procesados  
  • Inventario al final del día  
  • Días útiles del inventario  
  • Distribución de los productos  
  • Exportación  
  • Recepción de leche  

Los atributos correspondientes son:

  • día, mes, año.
  • producto, sub-rubro, rubro.
  • localidad, departamento, provincia.
  • planta.
  • almacén.
  • país de destino.

Estos atributos originan tablas dimensionales:


TD: Tiempo
pk tiempo

año

mes

día

TD: Producto
pk producto

rubro

sub-rubro

nombre

TD: Distribución geográfica
pk dist_geo

provincia

departamento

localidad

TD: Planta
pk planta

nombre

TD: Almacén
pk almacén

nombre

TD: País de destino
pk pais_destino

nombre


Los hechos originan tablas de hechos, que se relacionan con las tablas dimensionales. Los hechos se pueden agrupar, siempre y cuando puedan ser discriminados de acuerdo a las mismas dimensiones. Además, los snapshots de cada hecho deberían ser tomados en el mismo momento.

La leche procesada, la producción y los sólidos procesados deben discriminarse por día. La leche procesada deberá ser discriminada por planta, y lo demás por localidad, pero como la discriminación por plantas generará un conjunto sumarizable para discriminar por localidad (una planta no puede pertenecer a dos localidades), se pueden utilizar ambos atributos y sumarizar en este caso.


FT: Producción

fk1

fk2

fk3

fk4

tiempo

producto

dist_geo

planta

Leche procesada  

Producción  

Sólidos procesados  

FT: Inventario

fk1

fk2

fk3

fk4

tiempo

producto

planta

almacén

Inventario al final del día  

Días útiles del inventario  


El resto de los hechos no puede agruparse, por lo tanto les corresponderá una tabla a cada uno.


FT: Distribución de los productos

fk1

fk2

fk3

fk4

tiempo

producto

dist_geo

almacen

Cantidad  
FT: Exportación

fk1

fk2

fk3

tiempo

producto

pais_destino

Cantidad exportada  
FT: Recepción de leche

fk1

fk2

tiempo

dist_geo

Cantidad  

Generación de los datos requeridos

editar
  • Kilogramos de leche procesados diariamente por producto, por localidad (1):
FT: Producción
       = Leche procesada
  TD: Tiempo (día, mes, año)                   /* cuando aparece un atributo jerárquico, */ 
  TD: Producto (nombre, sub-rubro, rubro)      /* aparecerán todos los superiores en jerarquía*/
  TD: Distribución geográfica (localidad, departamento, provincia)
  TD: Planta (ALL)                             /* porque para la producción no hace falta */
                                               /* discriminar por planta */
  • Rendimiento promedio diario (kg producto)/(kg leche) por producto, por planta (2):
FT: Producción
       = Leche procesada
       = Producción
        Rendimiento promedio =  
  TD: Tiempo (día, mes, año)
  TD: Producto (nombre, sub-rubro, rubro)
  TD: Distribución geográfica (ALL)
  TD: Planta (nombre)


  • Rendimiento promedio mensual (kg producto)/(kg sólidos totales) por producto, por planta (3):
FT: Producción
       = Producción
       = Sólidos procesados
        Rendimiento promedio =  
  TD: Tiempo (mes, año)
  TD: Producto (nombre, sub-rubro, rubro)
  TD: Distribución geográfica (ALL)
  TD: Planta (nombre)
  • Kilogramos diarios en inventario por rubro de producto, por almacén (4):
FT: Inventario
       = Cantidad
  TD: Tiempo (día, mes, año)
  TD: Producto (rubro)
  TD: Distribución geográfica (ALL)
  TD: Planta (ALL)
  TD: Almacén (nombre)
  • Número promedio de días útiles del inventario (fecha vencimiento – fecha actual) por producto, por almacén por día (5):
FT: Inventario
       = Días útiles del inventario
  TD: Tiempo (día, mes, año)
  TD: Producto (nombre, sub-rubro, rubro)
  TD: Distribución geográfica (ALL)
  TD: Planta (ALL)
  TD: Almacén (nombre)
  • Kilogramos exportados por rubro de producto, por país destino, por año (6):
FT: Exportación
       = Cantidad exportada
  TD: Tiempo (año)
  TD: Producto (rubro)
  TD: País de destino (nombre)
  • Distribución de los productos (según almacén destino) en kilogramos mensuales, por sub-rubro de producto, por localidad (7):
FT: Distribución de los productos
       = Cantidad
  TD: Tiempo (mes, año)
  TD: Producto (sub-rubro, rubro)
  TD: Distribución geográfica (localidad, departamento, provincia)
  TD: Planta (ALL)
  TD: Almacén (nombre)
  • Porcentaje de la producción exportada anualmente por rubro de producto por país destino (8):
FT: Exportación
       = Cantidad exportada
  TD: Tiempo (año)
  TD: Producto (rubro)
  TD: País de destino (nombre)

FT: Producción
       = Producción
        Porcetaje =  
  TD: Tiempo (año)
  TD: Producto (rubro)
  TD: Distribución geográfica (ALL)
  TD: Planta (ALL)
  • Kilogramos de leche recibida por departamento. (9):

(como no especifica granularidad temporal, se muestra diariamente)

FT: Recepción de leche
       = Cantidad
  TD: Tiempo (día, mes, año)
  TD: Distribución geográfica (departamento, provincia)


Ejercicio 8

editar

La base de datos del sistema de registros de operaciones de una empresa de industrialización de tomates para exportación, que posee plantas de producción ubicadas en distintas localidades de las provincias de Mendoza, San Juan, Río Negro y Neuquén, contiene los siguientes datos:

  • Planta: nombre, localidad, departamento, provincia.
  • Recibo de tomates: fecha, planta, kilos, proveedor, calidad: grado (A, B, o C), precio de compra por grado.
  • Producción: fecha, planta, fecha de vencimiento, kilos, producto, kilos tomate utilizado y Mix de grado.
  • Inventario: producto, planta, kilos, fecha elaboración.
  • Exportación: código país, fecha, kilos, producto, precio de venta.
  • Producto: nombre, tipo, familia, envase.
  • Proveedor: nombre, establecimiento, departamento, provincia.

Requerimientos

editar
  • kg de tomate procesados por mes, por producto, por planta de producción (1).
  • Calidad del tomate recibido: porcentaje promedio mensual (kg grado x / kg totales) por departamento de origen y por planta de producción (2).
  • Costo promedio mensual del tomate por grado y por planta de producción (3).
  • Inventario promedio mensual por producto, por planta (4).
  • Porcentaje de tomate procesado en relación al total recibido por mes, por grado y por planta (5).
  • Precio promedio mensual del tomate comprado por grado por departamento de origen (6).
  • Kilogramos exportados por tipo de producto, por país destino (7).
  • Número de días útiles del inventario (fecha vencimiento – fecha actual) por producto, por mes(8).

Consigna

editar
  1. Desarrollar un modelo dimensional de datos que se ajuste a los requerimientos (no inferir otros requerimientos).
  2. Describir cómo generaría los requerimientos a partir de las Tablas de Hechos, detallando como se harían las agregaciones de los hechos respectivos (suma, promedio, etc) y el nivel de agregación de cada dimensión.
  3. Definir las jerarquías de agregación y los respectivos niveles de agregación necesarias para dar respuesta a estos requerimientos de modo directo.

El modelo dimensional

editar
Hechos
editar
Hecho Requerimientos satisfechos
Tomate procesado 1
Tomate recibido 2, 5 (junto con el tomate procesado)
Precio del tomate recibido 3, 6
Inventario 4
Exportación 7
Días útiles del inventario 8

En resumen, los hechos a registrar son:

  • Tomate procesado  
  • Tomate recibido  
  • Precio del tomate recibido  
  • Inventario  
  • Exportación  
  • Días útiles del inventario  

Los atributos correspondientes son:

  • día, mes, año.
  • grado de calidad.
  • planta.
  • departamento, provincia.
  • país de destino.
  • nombre, tipo, familia (producto).

Estos atributos originan tablas dimensionales:


TD: Tiempo
pk tiempo

año

mes

día

TD: Calidad
pk calidad

grado

TD: Distribución geográfica
pk dist_geo

provincia

departamento

TD: Planta
pk planta

nombre

TD: País de destino
pk pais_destino

nombre

TD: Producto
pk producto

familia

tipo

nombre


Los hechos originan tablas de hechos:


FT: Tomate procesado

fk1

fk2

fk3

fk4

tiempo

producto

planta

calidad

Cantidad  

FT: Recepción de tomate

fk1

fk2

fk3

fk4

tiempo

planta

dist_geo

calidad

Cantidad 

Precio  

FT: Inventario

fk1

fk2

fk3

tiempo

producto

planta

Inventario al final del día  

Días útiles del inventario  

FT: Exportación

fk1

fk2

fk3

tiempo

producto

pais_destino

Cantidad exportada  

Generación de los datos requeridos

editar
  • kg de tomate procesados por mes, por producto, por planta de producción (1):
FT: Tomate procesado
       = Cantidad
  TD: Tiempo (mes, año)
  TD: Producto (nombre, tipo, familia)
  TD: Planta (nombre)
  TD: Calidad (ALL)
  • Calidad del tomate recibido: porcentaje promedio mensual (kg grado x / kg totales) por departamento de origen y por planta de producción (2):
FT: Tomate recibido
       = Cantidad
        Promedio de A =  
  TD: Tiempo (mes, año)
  TD: Distribución geográfica (departamento, provincia)
  TD: Planta (nombre)
  TD: Calidad (grado)

FT: Tomate recibido
       = Cantidad
        Promedio de C =  
  TD: Tiempo (mes, año)
  TD: Distribución geográfica (departamento, provincia)
  TD: Planta (nombre)
  TD: Calidad (ALL)
  
  • Costo promedio mensual del tomate por grado y por planta de producción (3):
FT: Tomate recibido
       = Cantidad
       = Precio * Cantidad              /* Precio en este caso sería unitario */
        Precio promedio =     /* Sería la sumarización de los precios de cada grupo */
                               /* dividido por la sumarización de las cantidades de cada grupo */
  TD: Tiempo (mes, año)
  TD: Distribución geográfica (ALL)
  TD: Planta (nombre)
  TD: Calidad (grado)
  • Inventario promedio mensual por producto, por planta (4):
FT: Inventario
       = Cantidad
  TD: Tiempo (mes, año)
  TD: Producto (nombre, tipo, familia)
  TD: Planta (nombre)
  • Porcentaje de tomate procesado en relación al total recibido por mes, por grado y por planta (5):
FT: Tomate procesado
       = Cantidad
  TD: Tiempo (mes, año)
  TD: Producto (ALL)
  TD: Planta (nombre)
  TD: Calidad (grado)

FT: Tomate recibido
       = Cantidad
        Porcentaje =  
  TD: Tiempo (mes, año)
  TD: Distribución geográfica (ALL)
  TD: Planta (nombre)
  TD: Calidad (grado)
  • Precio promedio mensual del tomate comprado por grado por departamento de origen (6):
FT: Tomate recibido
       = Cantidad
       = Precio * Cantidad                   /* Precio en este caso sería unitario */
        Precio promedio =     /* Sería la sumarización de los precios de cada grupo */
                                    /* dividido por la sumarización de las cantidades de cada grupo */
  TD: Tiempo (mes, año)
  TD: Distribución geográfica (departamento, provincia)
  TD: Planta (ALL)
  TD: Calidad (grado)
  • Kilogramos exportados por tipo de producto, por país destino (7):
FT: Exportación
       = Cantidad exportada
  TD: Tiempo (año)
  TD: Producto (tipo, familia)
  TD: País de destino (nombre)
  • Número de días útiles del inventario (fecha vencimiento – fecha actual) por producto, por mes(8):
FT: Inventario
       = Días útiles del inventario
  TD: Tiempo (mes, año)
  TD: Producto (nombre, tipo, familia)
  TD: Planta (ALL)