Está en la página 1de 20

DISEÑO E IMPLEMENTACIÓN DE CUBOS DE

DATOS

Estructura de contenidos

INTRODUCCIÓN........................................................................... 3

1. ENFOQUES PARA LA CONSTRUCCIÓN DE CUBOS DE DATOS........... 3

1.1 Modelos y metodologías para el diseño y construcción de Bodegas de


Datos (Data Warehouses).............................................................. 3

1.2. Metodologías para minería de datos.......................................... 4

2. FASES PARA EL DISEÑO E IMPLEMENTACIÓN DE CUBOS DE DATOS.5

2.1. FASE DE COMPRENSIÓN DEL MODELO DE NEGOCIO: ................. 5

2.2. FASE DE LEVANTAMIENTO DE REQUERIMIENTOS: ..................... 6

2.3. FASE DE RECOLECCIÓN DE LOS DATOS: .................................. 7

2.4. FASE DE PREPARACIÓN DE DATOS:.......................................... 10

2.5. FASE DE MODELADO DEL CUBO DE DATOS: ............................. 11

2.6. FASE DE IMPLEMENTACIÓN DEL CUBO DE DATOS: .................... 13

2.7. FASE DE CONSTRUCCIÓN DEL VISUALIZADOR DEL CUBO DE


DATOS: ...................................................................................... 16

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


DISEÑO E IMPLEMENTACIÓN DE CUBOS DE DATOS
Mapa conceptual

2
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

INTRODUCCIÓN

El diseño y construcción de cubos de datos permite a las organizaciones


escalar progresivamente hacia una arquitectura de almacenamiento con
Bodegas de Datos (Data Warehouse), sobre los que se puede aplicar
técnicas de minería de datos con el fin de extraer conocimiento que
permita satisfacer las expectativas de los clientes y alcanzar los objetivos
estratégicos de la organización.

La aplicación de técnicas de minería de datos para identificar y extraer


conocimiento de las bases de datos, permite mejorar la estrategia de
negocio mediante el diseño de tácticas que generen ventajas competitivas
en el mercado.

1. ENFOQUES PARA LA CONSTRUCCIÓN DE CUBOS DE


DATOS

El diseño y construcción de Bodegas de Datos puede ser abordado desde


diferentes enfoques. Una alternativa es construir la Bodega de Datos a
partir de la agrupación de los cubos de datos que se generan por cada
dependencia de la empresa y utilizar algún modelo o metodología para
estructurarlos de manera ordenada. Un segundo enfoque es utilizar una
metodología para realizar Minería de Datos y contemplar la construcción
de la Bodega de Datos como un proceso que permite la extracción de
conocimiento de los datos.

1.1 Modelos y metodologías para el diseño y construcción de


Bodegas de Datos (Data Warehouses)

Algunos de los modelos y metodologías más usadas para el diseño y


construcción de Bodegas de datos son:

• Modelo de Barry Devlin y Paul Morphy: En este modelo se inicia


analizando racionalmente el modelo de negocio con el fin de definir la
arquitectura técnica que se requiere para realizar la implementación
de la Bodega de Datos; posteriormente se identifican las fuentes de
almacenamiento que contienen los datos, con las que se define un
simple, completo y consistente sistema de almacenamiento, en el que
los datos se agrupan para que los usuarios finales puedan entender y
manipular el contexto del negocio.

3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

• Modelo de Ralph Kimball: Es un esquema centrado en la


identificación de procesos de la empresa, desde el que se extraen los
elementos claves para la definición de la estructura de variables y
dimensiones de las que constan los cubos de datos, que al agruparlos
componen la Bodega de Datos de la empresa.

• Modelo de William Bill Inmon: Se fundamenta en la elaboración


del modelo de datos corporativo desde un nivel de abstracción muy
gerencial, para que con base en esté se derive la estructura del modelo
de datos de la Bodega de Datos.

• Modelo de Golfarelli Matteo, Maio Dario y Rizzi Stefano: es


un esquema que parte de los modelos entidad relación (MER) de los
sistemas transaccionales de la organización, para luego derivar el MER
de la estructura para el diseño de la Bodega de Datos.

• Metodología HEFESTO: Aborda el proceso de construcción de la


Bodega de Datos desde el enfoque de la Inteligencia de Negocios (Business
Intelligence - BI), en el cual se identifican los aspectos más relevantes
y significativos del modelo del negocio con el objetivo de precisar y
detallar los componentes que deben intervenir en la arquitectura de la
Bodega.

1.2. Metodologías para minería de datos

Las metodologías para realizar minería de datos abarcan los modelos de


construcción de una Bodega de Datos como un ítem dentro del proceso
de extracción de conocimiento de los datos, por esta razón a continuación
mencionamos algunas de las más relevantes:

• Metodología CRIPS – DM (Cross Industry Standard Process for Data


Mining)

• Metodología SEMMA (Sample, Explore, Modify, Model, Assess)

• Metodología DMAMC (Definir, Medir, Analizar, Mejorar, Controlar)

• KDD process - (Knowledge Discovery in Databases)

4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
2. FASES PARA EL DISEÑO E IMPLEMENTACIÓN DE
CUBOS DE DATOS

A continuación se realiza la descripción de cada una de las fases que tiene el


proceso de diseño e implementación de un cubo de datos; adicionalmente,
para realizar la práctica se describirán las actividades a realizar como
“Caso Práctico” utilizando para ello la base de datos “AdventureWorks.sql”
que es suministrada en el archivo “BaseDatosEjemplo.zip” y sobre la cual
se aplicarán cada una de las fases.

2.1. FASE DE COMPRENSIÓN DEL MODELO DE NEGOCIO:

En esta fase se recolecta la información corporativa e institucional que


permita comprender el modelo de negocios e identificar los objetivos
estratégicos de la organización. Se consultan fuentes como el organigrama
empresarial, el diagrama de procesos, el manual de procedimientos, el
portafolio de servicios y todas aquellas que suministren información que
permita comprender la estructura y el funcionamiento de los procesos que
tiene la organización.

El conocimiento que se adquiere del funcionamiento de la organización


debe permitir identificar claramente los objetivos estratégicos del negocio,
para que el diseño del cubo de datos se oriente hacia el alcance de estos.

El análisis obtenido en esta fase se consolida en un documento llamado


“Dominio del negocio de la organización” donde se realiza la descripción
del modelo de negocio, se establecen los objetivos estratégicos de la
organización y se explica la estructura de la organización.

Caso Práctico

En esta primera actividad debe tener en cuenta que la base de datos


“AdventureWorks” con la cual realizará la práctica, no corresponde a una
empresa u organización real por cuanto que los registros de los productos,
personas, lugares y eventos que se describen aquí son ficticios.

En esta Fase lo que se pretende es establecer un escenario donde se


pueda inferir la estructura y funcionamiento real de una empresa, por lo
tanto debe tener en cuenta la siguiente información que corresponde al
dominio del negocio de la organización:

5
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

• Adventure Works Cycles, es una empresa multinacional que fabrica


y vende bicicletas en los mercados de Norteamérica, Europa y Asia.
Su sede central de operaciones se encuentra en Bothell, Washington,
con 290 empleados, su mercado está compuesto por varios equipos
regionales de ventas.

• En el año 2000, la empresa compró una pequeña planta de


fabricación, “Importadores Neptuno”, situada en México la cual fabrica
varios subcomponentes para la línea de productos de Adventure Works
Cycles. Estos subcomponentes se envían a la sede de Bothell para el
ensamblado final del producto.

• En el año 2001, Importadores Neptuno pasó a ser el único fabricante


y distribuidor del grupo de productos de bicicletas de paseo.

2.2. FASE DE LEVANTAMIENTO DE REQUERIMIENTOS:

En esta fase se recolectan datos y se someten a análisis con el fin de


transformarlos en información que permita identificar las necesidades
del modelo de negocio de la organización, esto implica estudiar las
interacciones que se dan entre los datos y los procesos que se llevan a
cabo en cada una de las áreas de la organización.

Para el levantamiento de la información se pueden aplicar algunas de las


siguientes técnicas:

• Introspección u observación directa.

• Entrevistas y cuestionarios.

• Lluvia o tormenta de ideas.

• Storyboards.

• Etnografía o análisis organizacional.

La información obtenida durante el levantamiento de requerimientos debe


permitir identificar los interrogantes que el cubo de datos debe solucionar
para cada área de negocio que desea utilizarlo, esto permitirá recolectar
los datos correctos e interpretar adecuadamente los resultados.

El análisis obtenido en esta fase se consolida en un documento llamado


“Requerimientos del cubo de datos” en donde se consignan las preguntas

6
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

que responderá el cubo de datos junto con los aspectos positivos y


negativos que este tendrá en cada área de negocio.

Caso Práctico

Construya el documento “Requerimientos del cubo de datos”, teniendo en


cuenta la siguiente información:

Adventure Works Cycles desea ampliar su cuota de mercado dirigiendo


sus ventas a sus mejores clientes, para lograr esto ha comenzado por
realizar un análisis sobre los datos que tiene de sus clientes con el fin
de identificar que productos y qué cantidad de estos se venden por cada
región. Adventure Works Cycles tiene los siguientes tipos de cliente:

• Individuos: clientes que compran productos de la tienda en línea


de Adventure Works Cycles.

• Tiendas: almacenes que compran los productos a los representantes


de ventas para revenderlos al por menor o al por mayor.

2.3. FASE DE RECOLECCIÓN DE LOS DATOS:

En esta fase se recolectan los datos desde los sistemas fuentes para realizar
sobre ellos una descripción cualitativa y cuantitativa, posteriormente se
procede a determinar sus propiedades y verificar la calidad de los mismos.
Esta fase consta de las siguientes etapas:

1. Identificación de las fuentes de los datos: se identifican los


sistemas fuentes que contienen los datos y se extraen para posteriormente
adecuarlos, es importante tener en cuenta que los datos pueden residir en
diversos tipos de sistemas, a continuación mencionamos algunos de los
más típicos dentro de las organizaciones:
• Hojas de cálculo
• Bases de datos
• Archivos estadísticos
• Sistemas de información empresarial (ERP, ERP, FRM, HRM, MRP,
SCM)
• Archivos documentales físicos y digitales

7
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Luego de extraer los datos se elabora un informe que se denomina “reporte


de recolección de datos” el cual contiene la lista de los datos extraídos,
su localización, las técnicas utilizadas para su recolección y los problemas
que se presentaron durante este proceso, así como la forma en que fueron
resueltos.

2. Descripción de los datos: se realiza la descripción de los


datos extraídos desde los sistemas fuentes con el fin de establecer sus
características y métricas de la siguiente forma:

• Descripción cualitativa: se refiere a las cualidades relevantes de


los datos que pueden ser descritas utilizando: Significado de la tabla
que contiene los datos, descripción de la campo que contiene el dato y
descripción del tipo de campo.

• Descripción cuantitativa: se refiere a las métricas que pueden ser


calculadas u obtenidas del volumen de datos, como: Número de campos
por tabla, número de registros por tabla y número de relaciones.

• La información recolectada de los datos se consigna en un informe


denominado “reporte de la descripción de datos”

3. Exploración de los datos: Se procede a explorar los datos que


han sido extraídos desde los sistemas fuentes, con el fin de encontrar
una estructura general para los datos “homogeneidad” y de identificar
problemas “datos paralizantes” que puedan ocurrir durante las fases
siguientes. Las novedades encontradas en esta fase se registran en un
documento denominado “Reporte de exploración de datos”.

4. Verificación de la calidad y consistencia de los datos: Se


efectúan verificaciones sobre los datos, que permitan asegurar la
consistencia de los valores individuales de los campos, la cantidad y
distribución de los valores nulos y la corrección de valores fuera de rango
que puedan constituirse en elementos que alteren el resultado del proceso.
Los resultados de esta fase se consignan en un documento que lleva por
nombre “Reporte de calidad de datos”

8
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Caso Práctico:

Para realizar la fase de recolección de datos con cada una de sus etapas
deberá tener en cuenta que los datos de la empresa “Adventure Works
Cycles” están dentro del archivo “BaseDatosEjemplo.zip”, allí se encuentra
una base de datos relacional que está construida sobre el sistema
manejador de bases de datos SQL Server 2008.

Para la descripción de los datos debe consultar el diccionario de datos de


las siguientes tablas con el fin de identificar los metadatos que contiene
cada una de ellas:

Tabla Nº de registros Nº campos Nº relaciones

Customer 19.185 6 5

Product 504 25 18

SalesOrderHeader 31.465 13 11

SalesOrderDetail 121.317 11 2

SalesTerriory 10 10 5

Customer: Contiene la información de los clientes actuales. Los clientes


se clasifican por tipo: cliente individual o tienda de venta al por menor.

Product: Información sobre cada producto vendido por Adventure Works


Cycles o utilizado para fabricar bicicletas y componentes de bicicletas.

SalesOrderHeader: Contiene información general, o padre, del pedido


de compra.

SalesOrderDetail: Contiene productos individuales asociados con un


pedido de venta específico. Un pedido de venta puede incluir pedidos para
varios productos.

SalesTerriory: Tabla de búsqueda que contiene los territorios de ventas


cubiertos por los equipos de ventas de Adventure Works Cycles.

9
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

2.4. FASE DE PREPARACIÓN DE DATOS:

Finalizada la fase de recolección de los datos, se procede al alistamiento


de los datos para la posterior construcción del cubo de datos. La fase de
preparación de datos consta de las siguientes etapas:

1. Selección de datos: se seleccionan los datos de la fase anterior,


utilizando como criterio de selección la calidad de los datos en cuanto a
completitud y consistencia.

2. Limpieza de los datos: se optimiza la calidad de los datos mediante


la aplicación de técnicas que eliminen datos paralizantes, valores fuera de
rango y caracteres extraños; algunas de estas técnicas son: normalización
de datos, discretización de campos numéricos y tratamiento de valores
ausentes.

3. Estructuración de los datos: se realizan operaciones de


alistamiento sobre los datos, las cuales generan nuevos atributos a partir
de los ya existentes y transforman los valores de los ya existentes.

4. Integración de los datos: se crean nuevas estructuras que unifican


los datos, para esto se fusionan tablas que contengan atributos diferentes
de un mismo objeto y se generan nuevos campos y registros que resuman
los actuales.

5. Formateo de los datos: se realizan transformaciones sintácticas


de los datos sin modificar su significado, esto se consigue mediante la
reordenación o ajuste de los campos y registros de las tablas; también se
eliminan comas, tabuladores, caracteres especiales, máximos y mínimos
para las cadenas de caracteres.

Caso Práctico

El archivo “AdventureWorks.sql” es un script para SQL Server 2008 que


contiene las tablas fuentes desde donde se extraerán los datos para la
construcción del cubo de datos, este archivo puede ser abierto con un
editor de textos; se recomienda usar uno que reconozca la sintaxis del
SQL. De dicho archivo debe extraer las siguientes tablas junto con sus
datos:

10
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

• Customer

• Product

• SalesOrderHeader

• SalesOrderDetail

• SalesTerriory

2.5. FASE DE MODELADO DEL CUBO DE DATOS:

En esta fase se identifican las dimensiones, métricas y tablas de hecho


que constituirán el cubo de datos. Algunos de los aspectos para identificar
los atributos de estos elementos son:

• Atributos de métrica: son aquellos atributos que permiten establecer


un valor cuantitativo sobre los datos.

• Atributos de dimensión: son todos los atributos que aportan


cualidades a los datos.

• Datos multidimencionales: son los datos que no pueden modelarse


como atributos de dimensión o de medida.

• Atributos de la(s) tabla(s) de Hecho(s): Para identificar estos


atributos hay que prestar especial atención a las tabulaciones cruzadas
puesto que estas son sumatorias que no están guardas directamente en
las tablas del modelo relacional, si no que son el resultado de operaciones
aritméticas que se obtienen de disponer de distintas formas los atributos
de métrica y de dimensión.

Se debe construir el cubo de datos, teniendo en cuenta el número de


dimensiones y de tablas de hecho que se hayan identificado. Para esto hay
que seleccionar entre los siguientes modelos de datos el más adecuado
para construir el cubo: Modelo estrella, Modelo copo de nieve o Modelo
constelación.

La estructura dimensional propuesta para el cubo de datos debe resolver


las preguntas que se han planteado en el documento de requerimientos.
No hay un modelo mejor que otro, cada uno responde a un análisis
particular del cual depende su precisión y validez.

11
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Caso práctico

En esta fase se deben identificar los campos, metadatos y datos que se


requieren para construir las dimensiones del cubo de datos. Para esto
se toman como referencia las cinco (5) tablas creadas en el SMBD, de la
siguiente forma:

Dimensión Tablas fuentes Campos extraídos de tablas fuentes


Customer Customerid, AccountNumber
d_customer
SalesOrderHeader --------
Product ProductID, ProductNumber, Name
d_product
SalesOrderDetail --------

d_shipdate SalesOrderHeader Shipdate

d_salesTeritory SalesOrderHeader TerritoryID, Name

Identificados los campos que se requieren para la construcción de cada


una de las dimensiones del cubo, para el caso que se está desarrollando
se recomienda seleccionar el modelo estrella para el diseño del cubo.
En el gráfico puede ver el modelo estrella del cubo de datos construido a
partir de la base de datos “AdventureWorks”.

d_customer f_sales d_salesTerritory

idf_sales NUMERIC sales Territory ID INTEGER


customerID INTEGER
d_salesterritory_salesterritoryid INTEGER name CHARACTER
accountNumber CHARACTER
d_shipdate_idd_shipdate INTEGER
d_customer_customerid INTEGER
Properties Indexes
d_product_productid INTEGER
taxtamt INTEGER
totaldue NUMERIC
orderqty INTEGER
freight DOUBLE
linetotal DOUBLE
d_product

Indexes
productID INTEGER
productNumber CHARACTER d_product
name CHARACTER PRIMARY
fk_f_sales_d_customer1 idd_shipdate INTEGER
Indexes fk_f_sales_d_product1 myear INTEGER
fk_f_sales_d_sales Territory1 mounth INTEGER
fk_f_sales_d_shipdate1 mdate DATE

Indexes

12
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

2.6. FASE DE IMPLEMENTACIÓN DEL CUBO DE DATOS:

En esta la fase se construye el modelo físico del cubo de datos el cual se


realiza de la siguiente forma:

1. Crear las tablas de cada una de las dimensiones del cubo con sus
respectivos atributos y llaves primarias.

2. Después se construye(n) la(s) tabla(s) de hecho(s) con sus campos,


llaves primarias y relaciones que se han identificado en el modelo
seleccionado.

Caso práctico:

Se procede a la construcción física del cubo de datos a partir del modelo


estrella desarrollado para la base de datos “AdventureWorks”, para esto
se realizan los siguientes pasos:

1. Creación de las dimensiones: Se crean las tablas que corresponden


a cada una de las dimensiones del cubo de datos. Consulte el script SQL
“CrearTablasDimensiones.sql ” y ejecútelo en el SMBD.

CREATE TABLE d_customer (


CUSTOMERID INTEGER NOT NULL,
ACCOUNTNUMBER CHARACTER VARYING(10) NULL,
PRIMARY KEY(CUSTOMERID)
);

CREATE UNIQUE INDEX d_customer_ACCOUNT ON d_customer (ACCOUNTNUMBER);

CREATE TABLE d_product (


PRODUCTID INTEGER NOT NULL,
PRODUCTNUMBER CHARACTER VARYING(25) NULL,
NAME CHARACTER VARYING(50) NULL,
PRIMARY KEY(PRODUCTID)
);

CREATE UNIQUE INDEX d_product_NUMBER ON d_product (PRODUCTNUMBER);

13
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

CREATE TABLE d_salesterritory


(
SALESTERRITORYID INTEGER NOT NULL,
NAME CHARACTER VARYING(50) NULL,
PRIMARY KEY(SALESTERRITORYID)
);

CREATE TABLE d_shipdate (


idd_shipdate SERIAL NOT NULL,
MYEAR INTEGER NULL,
MOUNTH INTEGER NULL,
MDATE DATE NULL,
PRIMARY KEY(idd_shipdate)
);
2. Llenado de las dimensiones desde las tablas fuentes: Se
recuperan los datos desde los sistemas fuentes del nivel (OLTP), se
transforman y se cargan en cada una de las tablas que conforman las
dimensiones del cubo de datos. Consulte el script SQL “LlenarDimensiones.
sql ” y ejecútelo en el SMBD.

INSERT INTO d_shipdate (myear, mounth, mdate)


SELECT DISTINCT EXTRACT (year FROM shipdate), EXTRACT (month FROM
shipdate), shipdate
FROM salesorderheader

INSERT INTO d_customer


SELECT DISTINCT c.customerid, c.accountnumber FROM salesorderheader
sh
JOIN customer c USING (customerid)

INSERT INTO d_product


SELECT DISTINCT p.ProductID, p.ProductNumber, p.Name FROM
salesorderdetail sd
JOIN product p USING (productid)

INSERT INTO d_salesterritory


SELECT DISTINCT st.TerritoryID,st.Name FROM salesorderheader sh
JOIN salesterritory st USING (TerritoryID)

14
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

3. Construcción de la(s) tabla(s) de hechos del cubo de


datos: Se crea la tabla de hechos del cubo de datos. Consulte el script
“CrearTablaHechos.sql ” y ejecútelo en el SMBD.

CREATE TABLE f_sales (


idf_sales SERIAL NOT NULL,
d_salesterritory_salesterritoryid INTEGER NOT NULL,
d_shipdate_idd_shipdate INTEGER NOT NULL,
d_customer_customerid INTEGER NOT NULL,
d_product_productid INTEGER NOT NULL,
taxtamt DOUBLE PRECISION NULL,
totaldue DOUBLE PRECISION NULL,
orderqty INTEGER NULL,
freight DOUBLE PRECISION NULL,
linetotal DOUBLE PRECISION NULL,
PRIMARY KEY(idf_sales)
);

CREATE INDEX f_sales_FKIndex1 ON f_sales (d_product_PRODUCTID);


CREATE INDEX f_sales_FKIndex2 ON f_sales (d_customer_CUSTOMERID);
CREATE INDEX f_sales_FKIndex3 ON f_sales (d_shipdate_idd_shipdate);
CREATE INDEX f_sales_FKIndex4 ON f_sales (d_salesterritory_
SALESTERRITORYID);

4. Llenado de la(s) tabla(s) de hechos del cubo de datos:


Se consolidan las métricas realizando los cálculos sobre los datos
multidimensionales y se almacena el resultado dentro de la tabla de
hechos del cubo de datos. Consulte el script SQL “LlenarTablaHecho.sql ”
y ejecútelo en el SMBD.

INSERT INTO f_sales


(d_salesterritory_salesterritoryid,d_shipdate_idd_shipdate,d_
customer_customerid, d_product_productid, TAXTAMT, TOTALDUE,
ORDERQTY, FREIGHT,LINETOTAL)

SELECT dst.salesterritoryid,dsd.idd_shipdate,dc.customerid,dp.
productid,SUM(sh.taxamt),SUM(sh.totaldue),SUM(sd.
orderqty),SUM(sh.freight),SUM(sd.linetotal)
FROM salesorderdetail sd JOIN salesorderheader sh ON
sh.salesOrderID=sd.SalesOrderID

15
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

JOIN d_product dp ON dp.productid=sd.productID


JOIN d_customer dc ON dc.customerid=sh.customerID
JOIN d_salesterritory dst ON dst.salesterritoryid=sh.territoryid
JOIN d_shipdate dsd ON dsd.mdate=sh.shipdate
GROUP BY dst.salesterritoryID, dsd.idD_shipdate,dc.customerid,dp.
productid

2.7. FASE DE CONSTRUCCIÓN DEL VISUALIZADOR DEL CUBO DE


DATOS:

La fase de construcción del visualizador del cubo de datos puede ser


abordada de las siguientes formas:

• Construcción una vista en la base de datos

• Desarrollo de una aplicación en un lenguaje de programación


específico

• Utilización de una herramienta de uso específico existente

• Creación del visualizador en una herramienta de uso general como


una hoja de cálculo

En esta fase se busca que el usuario obtenga una interpretación más


intuitiva y rápida de la información que le puede suministrar el cubo de
datos.

La forma en que se aborde la construcción del visualizador del cubo de


datos depende del tamaño del cubo, el tiempo y los recursos disponibles
para ello.

Caso práctico:

En esta fase final se debe crear una consulta sobre las dimensiones del
cubo de datos de manera que proporcione algunos elementos claves que
permitan interpretar más fácilmente los datos arrojados por la tabla de
hechos. Siga los siguientes pasos:

1. Construir la tabla visualizador en donde se almacena el resultado de


la consulta. Revise el script “visualizador.sql ” y ejecútelo en el SMBD.

16
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

CREATE TABLE visualizador


(
territorio CHARACTER VARYING (50)NOT NULL,
envio DATE NOT NULL,
cliente CHARACTER VARYING (10) NOT NULL,
producto CHARACTER VARYING (50) NOT NULL,
iva bigint NOT NULL,
totales DOUBLE PRECISION NOT NULL,
cantidad BIGINT NOT NULL,
fletes DOUBLE PRECISION NOT NULL,
subtotales DOUBLE PRECISION NOT NULL
);

INSERT INTO visualizador


(territorio, envio, cliente, producto, iva, totales, cantidad,
fletes, subtotales)

SELECT dst.name territorio,dsd.mdate envio, dc.accountnumber


cliente,dp.name producto,SUM(sh.taxamt) iva,SUM(sh.totaldue)
totales,SUM(sd.orderqty) cantidad,SUM(sh.freight) fletes,SUM(sd.
linetotal) subtotales

FROM salesorderdetail sd JOIN salesorderheader sh ON


sh.salesOrderID=sd.SalesOrderID
JOIN d_product dp ON dp.productid=sd.productID
JOIN d_customer dc ON dc.customerid=sh.customerID
JOIN d_salesterritory dst ON dst.salesterritoryid=sh.territoryid
JOIN d_shipdate dsd ON dsd.mdate=sh.shipdate
GROUP BY dst.name, dsd.mdate,dc.accountnumber,dp.name

2. Desde la base de datos “cubo”, exportar a un archivo de texto plano


los datos que contiene la tabla de nombre “visualizador”. Para este caso
específico puede consultar el archivo “dataVisualizador.txt ” que contiene
121.288 registros, que son el resultado que debe dar la exportación de
datos si se han realizado los pasos correctamente.

3. Para finalizar debe cargar el archivo exportado, “dataVisualizador.


txt”, a una hoja de cálculo con el fin de generar una tabla dinámica que
permita consultar el cubo de datos. El resultado de este procedimiento
puede consultarse en el archivo “visualizadorCubo.xlsx ”.

17
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
GLOSARIO

BI: Business Intelligence – Inteligencia de negocios

CRISP-DM: Cross Industry Standard Process for Data Mining

Data mining: Minería de datos

DMAMC: Definir, Medir, Analizar, Mejorar, Controlar

DW: Data Warehouse - Bodega de datos

KDD: Knowledge Discovery in Databases

LDAP: Lightweight Directory Access Protocol - Protocolo ligero de acceso


a directorios

MER: Modelo Entidad Relación

OLAP: OnLine Analytical Processing – Procesamiento analítico en línea

OLTP: OnLine Transaction Processing - Procesamiento de transacciones


en línea

SEMMA: Sample, Explore, Modify, Model, Assess

18
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
BIBLIOGRAFÍA

Date, C.(2001). Introducción a los sistemas de bases de datos (7 Edición).


Mexico: Editorial: Pearson Education, Capitulo 21 : Apoyo a la toma de
decisiones.

Gallardo J. (2009). Metodología para la Definición de Requisitos en Proyectos


de Data Mining (ER-DM). Recuperado el 28 de mayo de 2012 desde:
http://oa.upm.es/1946/1/JOSE_ALBERTO_GALLARDO_ARANCIBIA.pdf

Hernández J., Ramírez J.y Ferri R. (2008). Introducción a la minería de


datos, Madrid, España: Editorial: Pearson Prentice Hall.

Kroenke, D, (2003). Procesamiento de Bases de Datos, Editorial: Prentice


Hall.

Laudon, C. y Laudon, P. (2008). Sistemas de Informacion Gerencial -


Administracion de la empresa digital (10 Edición). Mexico: Editorial
Pearson Prentice Hall, Capitulo 6: Fundamentos de la inteligencia de
negocios: administración de bases de datos e información.

Pérez, César y González D, (2007.) Mineria de datos Técnicas y


herramientas, Madrid, España: Editorial:Thomson.

Sevilla, E. (2003). Guía metodológica para la definición y desarrollo de


un DW. Recuperado el 31 de mayo de 2012 desde: http://biblioteca.uam.
edu.ni/opac_tes/009/00902630.pdf

Silberschatz, A. Korth, H. y Sudarshan, S. (2002). Fundamentos de bases


de datos (4ta Edición). Madrid, España: Editorial McGraw Hill, Parte 7,
Capítulo 22.

19
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Control de documento
Construcción Objeto de Aprendizaje
Diseño e Implementación de Cubos de Datos
Desarrollador de contenido Alejandro Pinzón Roberto
Experto temático
Asesor pedagógico Rafael Neftalí Lizcano Reyes
Producción Multimedia Luis Fernando Botero Mendoza
Victor Hugo Tabares
Programadores Daniel Eduardo Martínez
Grateful Dead Montaño Sierra
Líder expertos temáticos Ana Yaqueline Chavarro Parra
Líder línea de producción Santiago Lozada Garcés

20
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

También podría gustarte