Sei sulla pagina 1di 25

CARRERA DE INGENIERÍA DE SISTEMAS

GUÍA DE PRÁCTICA DE LA ASIGNATURA DE BASE DE DATOS III


LABORATORIO DE TECNOLOGÍAS #3

NÚMERO DE PRÁCTICA: BDIII- IS.P.3.017.702-01

NOMBRE DE LA PRÁCTICA:
Aplicación de una metodología en el diseño del modelo conceptual y
lógico de un data warehouse, el proceso de extracción, trasformación y
carga (ETL) de datos e implementación del Data Warehouse.

1. DATOS INFORMATIVOS:
CARRERA: Ingeniería de Sistemas
CICLO/NIVEL: Séptimo Semestre
FECHA: 15/11/2017
DOCENTE RESPONSABLE: Ing. Bertha Mazón
ESTUDIANTE(S) RESPONSABLE(S):
 Jaramillo Romero Ezequiel
 Jijón Reinoso Michael

2. FUNDAMENTACIÓN

Un Data warehouse es una base de datos corporativa que se caracteriza por


integrar y depurar información de una o más fuentes distintas, para luego
procesarla permitiendo su análisis desde distintas perspectivas y con grandes
velocidades de respuesta. La creación de un data warehouse representa en
la mayoría de las ocasiones el primer paso, desde el punto de vista técnico,
para implantar una solución completa y fiable de Business Intelligence.

Para crear un data Warehouse es necesario partir del diseño del modelo
conceptual y lógico que servirá de base para su posterior implementación.
Los tipos de esquemas o modelos de data mart son estrella y copo de nieve.
Se debe tener en cuenta que un data warehouse, se compone de varios data
mart, por consiguiente la integración de varios modelo en estrella o copo de
nieve dan como resultado un modelo en constelación.

Modelo de estrella: Representando por una o más tablas de hechos en el


centro y a los extremos las tablas de dimensiones, este modelo es eficiente
en rendimiento.
Copo de nieve. Representado por una o más tablas de hechos y rodeado
de varias tablas de dimensiones. A su vez, las tablas de dimensiones tienen
relaciones con otras tablas de dimensiones. Este modelo es eficiente en
almacenamiento ya que tiene como finalidad normalizar las tablas para
reducir el espacio de almacenamiento y evitar redundancia de datos, pero su
CARRERA DE INGENIERÍA DE SISTEMAS
rendimiento no es tan eficiente debido a que tiene que buscar la información
en varias tablas.
Constelación: Unión de dos o más data marts, sean estos en esquema
estrella y copo de nieve.

Posterior a ello realizar el proceso ETL(Extract, Transform and Load) para


convertir los datos obtenidos del sistema transaccional en información o
metada del data warehouse. El proceso ETL se encarga de convertir los
datos extraídos de alguna fuente de la organización en información
consolidada aplicando operaciones de agregación.

3. OBJETIVOS:
 Diseñar el modelo conceptual y lógico de un data warehouse para su
posterior implementación física.
 Realizar el proceso ETL mediante la herramienta Pentaho Data-
Integration para la implementación de un DW.

4. MATERIALES E INSUMOS

 Computadora
 Software
o Postgres SQL
o Pentaho data-integration
o Archivo de Excel

5. PROCEDIMIENTO

Caso de estudio:

La empresa X ubicada en la ciudad de Machala se dedica a la venta de


electrodomésticos. Los artículos tienen un determinado fabricante, están organizados
por categorías, tienen una utilidad y representan una inversión para la empresa.

En las facturas de venta se establece el número de la factura, el estado (TRUE=activa


o FALSE=inactiva), el cliente que realiza la compra, el monto total de la venta, la
ganancia total de cada venta y la fecha respectiva. Además, se debe considerar son la
cantidad de artículos vendidos.

Aplicando un proceso metodológico de inteligencia de negocios, realice:

1. El diseño de un data warehouse que satisfaga el requerimiento del dueño,


administradores o gerentes en base a las siguientes preguntas de negocio:
- ¿Cuál es el total de las ventas en cada día, mes y año?
- ¿Cuál es la ganancia que se obtiene por cada factura de venta?
CARRERA DE INGENIERÍA DE SISTEMAS
- ¿Cuál es el cliente que ha efectuado la mayor compra en un determinado mes?
- ¿Hacia qué ciudad se ha realizado el mayor monto de ventas en el mes?
- ¿Cuántos artículos se venden por día, mes y año?
- ¿Cuál es la inversión que posee la empresa organizado por categoría?
- ¿Cuáles son los artículos que tienen la mejor utilidad organizado por categoría
y fabricante?
- ¿Cuál es la categoría de los artículos más vendidos por día, mes y año?

2. El proceso ETL a partir de los datos que se encuentran en la base de datos


Inventario hacia el data warehouse.

6. CUADROS DE RESULTADOS

La metodología a aplicar en este caso se estudio es la de Hefesto, pues indica


de una manera clara, sencilla, ordenada e intuitiva los pasos a seguir para el
diseño e implementación de data warehouse.

1. ANÁLISIS DE LOS REQUERIMIENTOS

Data mart 1: << Estadística de control de artículos >>

a) Identificación de preguntas:

- ¿Cuál es la inversión que posee la empresa organizado por categoría?


- ¿Cuáles son los artículos que tienen la mejor utilidad organizado por
categoría y fabricante?

b) Identificación de indicadores y perspectivas:

La tabla de hechos de artículos correspondiente al data mart


contiene la siguiente estructura correspondiente a los indicadores
y perspectivas correspondientes:

Th_articulos
Indicadores Perspectivas
Dim_fabricante Utilidad
Dim_categoría Inversión
CARRERA DE INGENIERÍA DE SISTEMAS
c) Modelo conceptual del data mart: (modelo estrella)

Data mart 2: << Estadística de control de facturas de ventas >>

a) Identificación de preguntas:

- ¿Cuál es el total de las ventas en cada día, mes y año?


- ¿Cuál es la ganancia que se obtiene por cada factura de venta?
- ¿Cuál es el cliente que ha efectuado la mayor compra cada mes?
- ¿Hacia qué ciudad se ha realizado el mayor monto de ventas en el mes?

b) Identificación de indicadores y perspectivas:

La tabla de hechos de detalle de venta correspondiente al data mart


contiene la siguiente estructura correspondiente a los indicadores
y perspectivas correspondientes:

Th_factura_venta
Indicadores Perspectivas
Dim_tiempo
Total_venta
Dim_ciudad
Ganacia_venta
Dim_cliente

c) Modelo conceptual del data mart: (modelo copo de nieve)


CARRERA DE INGENIERÍA DE SISTEMAS
Data mart 3: << Estadística de control de detalles de las ventas >>

d) Identificación de preguntas:

- ¿Cuántos artículos se venden por día, mes y año?


- ¿Cuál es la categoría de los artículos más vendidos por día, mes y año?

e) Identificación de indicadores y perspectivas:

La tabla de hechos de factura de venta correspondiente al data


mart contiene la siguiente estructura correspondiente a los
indicadores y perspectivas correspondientes:

Th_factura_venta
Indicadores Perspectivas
Th_articulos
Th_detalle
Dim_ciudad
Dim_cliente Unidades vendidas
Dim_tiempo
Dim_fabricante
Dim_categoria

f) Modelo conceptual del data mart: (modelo copo de nieve)


CARRERA DE INGENIERÍA DE SISTEMAS
2. ANÁLISIS DE LOS OLTP

a) Conformar indicadores

TABLA DE INDICADORES
DATA MART
HECHOS
Utilidad (precio Venta – precio
Compra).
Estadística de
Th_artículos
control de artículos
Inversión (stock * precio de compra).

Total venta SUM (Unidades vendidas *


precio venta).
Estadística de
Th_factura_venta
facturas de ventas
Ganancia venta SUM (Utilidad *
unidades vendidas)

Estadística de Unidades_vendidas SUM (unidades


control de facturas Th_detalle vendidas).
de ventas

b) Establecer correspondencias (Selección de datos fuentes que


alimentarán los data mart)
CARRERA DE INGENIERÍA DE SISTEMAS
CARRERA DE INGENIERÍA DE SISTEMAS
c) Nivel de granularidad

Para determinar el nivel de granuralidad cabe recordar que:

 Nivel grueso, los datos están muy consolidados o resumidos.


 Nivel medio, los datos tienen un paso medio de consolidación o resumen.
 Nivel fino, los datos no están consolidados o resumidos, es decir se cuenta
con detalles suficientes.

Por lo tanto cada uno de los datamarts cuenta con los siguientes niveles:

 Datamart Estadísticas de control de los artículos: Nivel fino


 Datamart estadísticas de control de detalle de ventas: Nivel fino.
 Datamart estadísticas del control de las Facturas de Ventas: Nivel fino.

d) Modelo conceptual ampliado de cada data mart

Data mart Estadísticas del control de los artículos

Data mart Estadísticas del control de facturas de ventas.


CARRERA DE INGENIERÍA DE SISTEMAS
Data mart Estadísticas del control de detalles de ventas

3. MODELO LÓGICO DE LA BASE DE DATOS (un modelo por cada


Data mart)

Data mart Estadísticas del control de los artículos


CARRERA DE INGENIERÍA DE SISTEMAS
Data mart Estadísticas del control de facturas de ventas.

Data mart Estadísticas del control de detalles de ventas


CARRERA DE INGENIERÍA DE SISTEMAS
4. PROCESO ETL
1) Los datos fuentes se encuentran en la base de datos PostgreSQL
denominada Inventario.

2) El nombre asignado al repositorio de los datos históricos es


dw_inventario, por lo tanto se tiene que crear la base de datos con
este nombre.

3) Abrir y ejecutar el archivo Spoon.bat

4) Agregar una tranformación


CARRERA DE INGENIERÍA DE SISTEMAS
5) Agregar el componente Entrada Tabla que se ubica en la carpeta
Entrada

6) Agregar al área de trabajo en componente Insertar / Actualizar que


se encuentra en la carpeta Salida

7) Establecer una línea desde el componente Entrada Tabla hacia el


elemento Insertar / Actualizar
CARRERA DE INGENIERÍA DE SISTEMAS
8) Hacer doble clic en el componente Entrada Tabla, establecer un
nombre, en este caso dim_categoria. Escribir la consulta SQL.

9) Pulsar en el botón Nuevo para crear una conexión, establecer el


nombre de la conexión, nombre de host, nombre de la base de
datos, el número de puerto, el nombre de usuario y la clave
respectiva.
CARRERA DE INGENIERÍA DE SISTEMAS
10) Verificar la conexión con la base de datos Inventario, para esto
pulsar en el botón Probar

11) En el componente Insertar / Actualizar hacer doble clic, establecer


un nombre de paso, luego escribir un nombre para la tabla,
después pulsar en los botones obtener campos y obtener campos
de actualización.
CARRERA DE INGENIERÍA DE SISTEMAS
12) Pulsar en el botón Nuevo para crear una conexión y escribir los
diferentes datos requeridos, en este caso la base de datos es
dw_inventario

13) Verificar la conexión con la base de datos dw_inventario, pulsando


para esto el botón Probar.
CARRERA DE INGENIERÍA DE SISTEMAS
14) Finalmente guardar el archivo, debido a que después se lo
ocupará, el nombre asignado al archivo es proceso_etl_practica.

15) Luego de haber guardado el archivo, pulsar el botón Vale, abrir


nuevamente el componente insertar / actualizar y pulsar en el botón
SQL. Copiar el script, ya que luego se lo usará.
CARRERA DE INGENIERÍA DE SISTEMAS
16) Ahora agregar un Trabajo o Job

17) Agregar los componentes START, SQL y Transformation


CARRERA DE INGENIERÍA DE SISTEMAS
18) Establecer las líneas como se muestra a continuación entre los
elementos descritos

19) En el componente SQL hacer doble clic, pegar el código SQL,


adicional se debe escribir IF NOT EXISTS.
CARRERA DE INGENIERÍA DE SISTEMAS
20) Pulsar en el botón Nuevo, para crear una conexión, y se debe
escribir los datos requeridos, en este caso la base de datos es
dw_inventario

21) Ahora hacer doble clic en el componente denominado


Transformation, luego buscar el archivo proceso_etl_practica y
pulsar el botón Vale.
CARRERA DE INGENIERÍA DE SISTEMAS

22) Luego pulsar el botón para crear la tabla categoría y pasar los
datos de la base de datos Inventario al data warehouse
dw_inventario.

23) Después aparece la siguiente ventana, y en esta se pulsa en el


botón Ejecutar.
CARRERA DE INGENIERÍA DE SISTEMAS
24) En la parte inferior del Pentaho Data Integration se muestran unos
mensajes que indican si existen errores o el proceso fue un éxito.

25) Verificar que la tabla categoría de la base de datos dw_inventario


se ha creado, y que los datos se han pasado a la tabla.

26) Hacer el mismo procedimiento para las demás dimensiones y


tablas de hechos. En las siguientes imágenes se muestran sólo las
consultas usadas para crear cada una de las tablas en la data
warehouse.

27) Dimensión fabricante


CARRERA DE INGENIERÍA DE SISTEMAS
28) Tabla de hechos artículos

29) Tabla de hechos detalle

30) Tabla de hechos factura venta

31) Dimensión tiempo


CARRERA DE INGENIERÍA DE SISTEMAS
32) Dimensión cliente

33) Dimensión ciudad

34) A continuación se presente el resultado final del proceso ETL


acerca del inventario en estudio.

35) En el trabajo se definieron tres elementos, en el componente


llamado SQL se fueron agregando todas las creaciones de las
tablas.
CARRERA DE INGENIERÍA DE SISTEMAS

36) Verificar que las tablas se han creado en la base de datos


dw_inventario y que los datos se han pasado correctamente.

7. CONCLUSIÓN

El proceso ETL involucra algunas cosas relevantes acerca del manejo de


los datos, debido a que interactúan un sin número de sistemas gestores
de base de datos, cada uno con diferentes tipos de archivos, y gracias a
este proceso es posible extraer dicha información de una base de datos,
transformarla y cargarla en otra totalmente diferentes, y a su vez realizar
un proceso de corrección de datos en caso que algunos de estos se
encuentren erróneamente colocados.

La metodología, técnicas y procedimientos aplicados son útiles de tal


forma que permiten conocer cuáles son los pasos a seguir para realizar
un correcto proceso en la manipulación de datos, y de esta forma asegurar
que se obtenga un buen resultado final.

Se logró comprender mucho más acerca del proceso ETL, como


transformar datos que se encuentran en una determinada base de datos
a otra totalmente diferente, ya que los procesos a seguir son fáciles de
entender.

8. RECOMENDACIÓN

Redactar las recomendaciones en función de los cuidados a tener en


cuenta antes de comenzar la práctica y trabajos adicionales que se
podrían hacer para mejorar la práctica.

 El Server BI y Data Integration de Pentaho deben estar en correcto


funcionamiento para asegurar la correcta manipulación de los datos.
CARRERA DE INGENIERÍA DE SISTEMAS
 Poseer un ordenador con características tales que se pueda hacer uso
del software respectivo sin ningún tipo de problema.
 Asegurar que los datos estén correctos y ordenados, de tal manera
que no afecten al resultado final.

9. ANEXOS
Anexar manual paso a paso del desarrollo de la práctica.