1 Base de Datos II, Guía 10
Facultad: Ingeniería
Escuela: Computación
Asignatura: Base de Datos II
Tema: Datawarehouse. Parte I
Objetivo Especifico
Que el estudiante:
• Aprenda a crear las bases de datos multidimensionales que dan origen a los cubos de
informacion
Introduccion Teorica
En el contexto de la informática, un almacén de datos (del inglés data warehouse) es una
colección de datos orientada a un determinado ámbito (empresa, organización, etc.), integrado,
no volátil y variable en el tiempo, que ayuda a la toma de decisiones en la entidad en la que se
utiliza. Se trata, sobre todo, de un expediente completo de una organización, más allá de la
información transaccional y operacional, almacenado en una base de datos diseñada para
favorecer el análisis y la divulgación eficiente de datos (especialmente OLAP, procesamiento
analítico en línea). El almacenamiento de los datos no debe usarse con datos de uso actual. Los
almacenes de datos contienen a menudo grandes cantidades de información que se subdividen a
veces en unidades lógicas más pequeñas dependiendo del subsistema de la entidad del que
procedan o para el que sean necesario
Cubos de información
Los cubos de información o cubos OLAP funcionan como los cubos de rompecabezas en los juegos,
en el juego se trata de armar los colores y en el data warehouse se trata de organizar los datos
por tablas o relaciones; los primeros (el juego) tienen 3 dimensiones, los cubos OLAP tienen un
número indefinido de dimensiones, razón por la cual también reciben el nombre de hipercubos. Un
cubo OLAP contendrá datos de una determinada variable que se desea analizar, proporcionando
una vista lógica de los datos provistos por el sistema de información hacia el data warehouse, esta
vista estará dispuesta según unas dimensiones y podrá contener información calculada. El análisis
Base de Datos II, Guía 10 2
de los datos está basado en las dimensiones del hipercubo, por lo tanto, se trata de un análisis
multidimensional.
A la información de un cubo puede acceder el ejecutivo mediante "tablas dinámicas" en una hoja
de cálculo o a través de programas personalizados. Las tablas dinámicas le permiten manipular las
vistas (cruces, filtrados, organización, totales) de la información con mucha facilidad. Las
diferentes operaciones que se pueden realizar con cubos de información se producen con mucha
rapidez. Llevando estos conceptos a un data warehouse, éste es una colección de datos que está
formada por «dimensiones» y «variables», entendiendo como dimensiones a aquellos elementos
que participan en el análisis y variables a los valores que se desean analizar.
Dimensiones
Las dimensiones de un cubo son atributos relativos a las variables, son las perspectivas de análisis
de las variables (forman parte de la tabla de dimensiones). Son catálogos de información
complementaria necesaria para la presentación de los datos a los usuarios, como por ejemplo:
descripciones, nombres, zonas, rangos de tiempo, etc. Es decir, la información general
complementaria a cada uno de los registros de la tabla de hechos.
Variables
También llamadas “indicadores de gestión”, son los datos que están siendo analizados. Forman
parte de la tabla de hechos. Más formalmente, las variables representan algún aspecto
cuantificable o medible de los objetos o eventos a analizar. Normalmente, las variables son
representadas por valores detallados y numéricos para cada instancia del objeto o evento medido.
En forma contraria, las dimensiones son atributos relativos a las variables, y son utilizadas para
indexar, ordenar, agrupar o abreviar los valores de las mismas. Las dimensiones poseen una
granularidad menor, tomando como valores un conjunto de elementos menor que el de las
variables; ejemplos de dimensiones podrían ser: “productos”, “localidades” (o zonas), “el tiempo”
(medido en días, horas, semanas, etc.)
3 Base de Datos II, Guía 10
Material y Equipo
• Computadora con Oracle 10G XE.
• Guía de Laboratorio.
Procedimiento
Se necesita que para una base de datos comercial podamos crear un Cubo de Información donde
se puedan ver las dimensiones de Producto, Fecha y Tipo de Cliente
Vamos a Generar la Siguiente Base de datos de Ventas Comerciales:
1. Ocupe el Siguiente Codigo para crear la base de datos Transaccional, se crearan las tablas
cliente, productos, ventas y ventas detalle, agregue 10 registros de clientes, 10 registros
de ventas(y agregue 2 registros en ventas detalle por cada registro en ventas) y 5
registros en productos
CREATE TABLE “AC_CLIENTE"
( "ID_CLIENTE" NUMBER NOT NULL ENABLE,
"NOMBRE" VARCHAR2(40 BYTE) NOT NULL ENABLE,
"APELLIDO" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"FECHANAC" DATE NOT NULL ENABLE,
"TIPO_CLIENTE" VARCHAR2(20 BYTE),
CONSTRAINT "AC_CLIENTE_PK" PRIMARY KEY ("ID_CLIENTE")
)
CREATE TABLE “AC_PRODUCTO"
( "ID_PRODUCTO" NUMBER NOT NULL ENABLE,
"NOMBRE" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"PRECIOU" NUMBER DEFAULT 0.0 NOT NULL ENABLE,
CONSTRAINT "AC_PRODUCTO_PK" PRIMARY KEY ("ID_PRODUCTO")
)
CREATE TABLE “AC_VENTAS"
( "ID_CLIENTE" NUMBER NOT NULL ENABLE,
"ID_VENTA" NUMBER NOT NULL ENABLE,
"MONTO" NUMBER NOT NULL ENABLE,
"FECHA" DATE NOT NULL ENABLE,
CONSTRAINT "AC_VENTAS_PK" PRIMARY KEY ("ID_VENTA")
)
CREATE TABLE "AC_VENTAS_DETALLE"
( "ID_VENTAS" NUMBER NOT NULL ENABLE,
"ID_PRODUCTO" NUMBER NOT NULL ENABLE,
"CANTIDAD" NUMBER NOT NULL ENABLE,
"PRECIOU" NUMBER NOT NULL ENABLE,
"SUBTOTAL" NUMBER NOT NULL ENABLE
)
Base de Datos II, Guía 10 4
2. Ahora se creara la tabla multidimensional (Datawarehouse) donde se guardaran las
dimensiones que necesitamos evaluar
CREATE TABLE "AC_MULTIDIMENSIONAL"
( "PRODUCTO" VARCHAR2(20 BYTE),
"MONTO_VENTAS" NUMBER DEFAULT 0,
"FECHA" DATE,
"TIPO_CLIENTE" VARCHAR2(20 BYTE)
)
3. Despues crearemos nuestro programa ETL el cual estara guardando los datos a nuestra tabla
multidimensional, como nuestro Datawarehouse esta tambien en Oracle ocuparemos un
procedimiento almacenado
CREATE OR REPLACE PROCEDURE "DMS"."LLENADO_MULTIDIMENSIONAL" AS
BEGIN
insert into ac_multidimensional (producto, fecha, tipo_cliente, monto_ventas)
select [Link], [Link], t1.tipo_cliente,sum([Link]) from ac_cliente t1 , ac_producto t2 ,
ac_ventas t3 , ac_ventas_detalle t4 where
t1.id_cliente= t3.id_cliente and t3.id_venta= t4.id_ventas and t2.id_producto= t4.id_producto group
by [Link], [Link], t1.tipo_cliente ;
END LLENADO_MULTIDIMENSIONAL;
/
4. Ejecute el Procedimiento Almacenado para llenar nuestra tabla multidimensional
5. Vaya a Microsoft Excel y en el menu de DATA haga click sobre Import data
5 Base de Datos II, Guía 10
6. En el siguiente cuadro de mensajes seleccione “New Data Source”
Base de Datos II, Guía 10 6
7. En el siguiente cuadro de opciones, seleccione un nombre para su conexión, en el driver
seleccione el driver de Oracle “Oracle in XE”
8. Despues hacer click en Conectar y digitar su service name (XE) y su usuario y clave con el cual
se conecta a su base de datos
9. Seleccionamos la tabla multidimensional que hemos creado
10. Una vez hallamos creado nuestra Conexión, aceptamos el nuevo Datasource creado y nos
mostrara el siguiente cuadro de dialogo
7 Base de Datos II, Guía 10
11. En este cuadro de dialogo seleccionaremos todos los campos de nuestra tabla multidimensional
y hacemos click en siguiente
12. En el cuadro de dialogo de filtros y ordenamiento daremos click en siguiente
13. Cuando estemos en la pantalla de selección del Query Wizard seleccionaremos Cubos OLE
14. Cuando le demos finalizar nos mostrar el cuadro de dialogo de los Cubos OLE
Base de Datos II, Guía 10 8
15. En esta opcion se deben de seleccionar todos los campos
16. Cuando finalize el Wizard guarde el cubo con un nombre y vera la siguiente ventana
17. En la siguiente ventana arrastre los campos que selecciono y vea como puede cambiar la
visualizacion de la información
9 Base de Datos II, Guía 10
Ejercicio
1. Se necesita agregar la dimension de dia, ya que se necesita visualizar solo los dias de un
mes en especifico, haga los cambios necesarios en el programa ETL y la tabla
multidimensional.
2. Se requiere tambien agregar la dimension de tipo de producto, haga los cambios
necesarios en la base de datos Transaccional, ETL y Multidimensional
3. Para los cambios anteriores vuelva a generar el cubo para que muestre las nuevas
dimensiones, si requiere agregar mas registros o actualizar datos hagalo.
Base de Datos II, Guía 10 10
Hoja de cotejo: 10
Guía 10: Datawarehouse. Parte I
Alumno: Maquina No:
Docente: GL: Fecha:
EVALUACION
% 1-4 5-7 8-10 Nota
CONOCIMIENTO Del Conocimiento Conocimiento y Conocimiento
20 al deficiente de los explicación completo y
30% fundamentos incompleta de los explicación clara
teóricos fundamentos de los
teóricos fundamentos
teóricos
APLICACIÓN DEL Del
CONOCIMIENTO 40%
al
60%
ACTITUD
Del No tiene actitud Actitud propositiva Tiene actitud
15% proactiva. y con propuestas proactiva y sus
al no aplicables al propuestas son
30% contenido de la concretas.
guía.