proyecto de base ii
TRANSCRIPT
1
IMPLEMENTACIÓN DE UN CUBO DE DATOS DE UN CINEMA,
HACIENDO USO DE LAS HERRAMIENTAS DE BUSINESS
INTELLIGENCE DE SQL
AUTORES:
CRUZ ZAMORA JUNIOR WILSON
ESQUIVEL GUEVARA MARIA DEL CARMEN
LIMAY OLIVA MARY LAURA CAROLINA
DOCENTE:
ING. ARTURO DÍAZ PULIDO
RESUMEN:
En el presente proyecto, se mostrará la creación de un cubo de datos de un
cinema, haciendo uso de algunas herramientas necesarias como business intelligence, parte de
SQL Server 2012, y utilizando Visual studio 2010 para realizar el diseño, y la organización de los
datos. Se explicará la formación de un cubo OLAP, y su análisis.
PALABRAS CLAVE:
OLAP, business intelligence, diseño.
2
INDICE 1. INTRODUCCIÓN ........................................................................................................................... 3
2. USOS DE UN SISTEMA OLAP O BI ................................................................................................ 4
2.1. ARQUITECTURA Y FUNCIONAMIENTO DE UN CUBO O BI ................................................... 4
2.2. MODELO DE NEGOCIO DIMENSIONAL ................................................................................ 7
2.3. BASE DE DATOS ................................................................................................................... 7
2.4. MODELO RELACIONAL ......................................................................................................... 8
2.5. INTERFAZ CON EL USUARIO ................................................................................................ 8
2.6. MÓDULO DE EXPLICACIÓN .................................................................................................. 8
2.7. MÓDULO DE PREPARACIÓN DE PLATAFORMAS Y HERRAMIENTAS. ................................ 11
2.8. VENTAJAS E INCONVENIENTES DE UN CUBO U OTRO MODELO DE BI ............................. 12
2.8.1. VENTAJAS .................................................................................................................. 12
2.8.2. INCONVENIENTES ...................................................................................................... 12
2.9. LENGUAJE DE PROGRAMACIÓN USADOS ......................................................................... 12
2.9.1. INTRODUCCIÓN A VISUAL STUDIO Y SQL .................................................................. 12
2.9.2. CARACTERÍSTICAS PRINCIPALES ................................................................................ 13
3. CUBO OLAP ................................................................................................................................ 13
3.1. PLANTEAMIENTO Y DISEÑO .............................................................................................. 13
3.2. IMPLEMENTACIÓN ............................................................................................................ 13
3.3. EJECUCIÓN ......................................................................................................................... 14
3.4. Referencias Bibliográficas ................................................................................................. 15
3
1. INTRODUCCIÓN
Resulta una problemática actual en las empresas, la organización de grandes cantidades de
datos, aún más importante, la administración de ella para la obtención de no solo datos, sino
información. La información es uno de los factores que ayuda a estas grandes empresas a
tomar decisiones beneficiosas para la misma, y proyectarse al futuro con más seguridad y
planificación. Todo esto requiere de grandes almacenes de datos.
Los sistemas OLAP son muy utilizados por la mayoría de empresas, las cuales implementan
varios Datamart, los cuales no son más que almacenes de datos bien estructurados.
El presente documento tiene como objetivo principal, exponer el diseño de un Cubo de Datos,
la cual es una estructura muy usada para organizar los datos y obtener información. Este cubo
de datos será realizado enfocado en una base creada para ese propósito, una base de datos de
un cinema.
Cada paso realizado será explicado, pero solo se dará un resumen de cada uno de ellos.
Haciendo uso de las herramientas que ofrece sql, y Visual Studio, se expondrá el diseño e
implementación de esta estructura.
4
2. USOS DE UN SISTEMA OLAP O BI OLAP es el acrónimo en inglés de procesamiento analítico en línea (On-Line Analytical
Processing). Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o
Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos.
Para ello utiliza estructuras multidimensionales (o Cubos OLAP) que contienen datos
resumidos de grandes Bases de datos o Sistemas Transaccionales (OLTP). Se usa en
informes de negocios de ventas, marketing, informes de dirección, minería de datos y
áreas similares. (wikipedia)
Razones de su uso extendido:
- Proporciona rapidez en las consultas de datos.
- Su diseño es cómodo, y está orientado al ámbito empresarial.
- Permiten procesar grandes volúmenes de información, esto se debe a que los cubos
son vectores.
- Las herramientas OLAP proporcionan a las compañías un sistema confiable para
procesar datos que luego serán utilizados para llevar a cabo análisis e informes que
permitan mejorar las operaciones productivas, tomar decisiones inteligentes y
optimizar la competitividad en el mercado.
- Antes solo se utilizaban sistemas ROLAP, ahora gracias al concepto de cubo OLAP, las
soluciones se han ampliado, y contamos con un sistema donde la información es
confiable, precisa, y su extracción muy rápida.
2.1. ARQUITECTURA Y FUNCIONAMIENTO DE UN CUBO O BI a) Arquitectura
La arquitectura de un cubo consta de dimensiones y hechos.
- Dimensiones: Representan factores por lo que se analiza un determinado área del
negocio. Son pequeñas y usualmente están desnormalizadas.
- Hechos: Son el objeto de los análisis y están relacionados con las dimensiones. Son
tablas muy grandes y suelen estar desnormalizadas.
Cada una de las dimensiones que posee la base de datos incorpora un campo
determinado para un tipo de dato específico, que luego podrá ser comparado con la
información contenida en el resto de dimensiones, para hacer posible la evaluación y
posteriores informes de la información realmente relevante para una compañía.
Una base de datos multidimensional puede contener varios cubos o vectores que
extenderán las posibilidades del sistema OLAP con el cual se trabaja.
5
Para poder realizar un cubo de datos OLAP, tenemos que realizar primeramente un
diseño. El cual, como se mencionaba, está compuesto de dimensiones y hechos. Las
dimensiones son las características que se medirán, y la tabla de hechos las contendrá.
La tabla de hechos tendrá las llaves primarias de todas las tablas con las que se
relaciona, es decir, las dimensiones. Pero gracias a esta tabla se podrán obtener las
medidas al cubo en función a las dimensiones elegidas.
Todo esto conlleva un proceso de selección riguroso, ya que si no se eligen
correctamente las dimensiones, el cubo mostrará datos correctos, pero difíciles de
entender, poco relacionados. Y como el cubo es parte de un datamart, está enfocado a
un usuario, el cual desea entender toda la información de manera más sencilla, se la
debe proporcionar de dicha forma.
En un cubo OLAP contamos con 2 formas de hacer el diseño de las dimensiones, pero
al final darán resultados satisfactorios. La primera, es un modelo de diseño llamado
“modelo estrella”, el cual consta de dimensiones bien definidas, y es muy aplicable al
mundo de las ventas. El segundo lleva el nombre de “modelo copo de nieve”, el cual es
totalmente igual al modelo estrella, la diferencia es que este mantiene las relaciones
existentes entre las tablas de la base de datos. Es decir, al final en teoría se convierte
en un modelo estrella, porque sigue siendo una sola tabla la que contiene las medidas,
pero las dimensiones mantienen sus relaciones con las demás tablas, lo que hace que
tenga la forma en que se observe sea distinta a una estrella.
- Modelo estrella: como se muestra en la ilustración 1. Las dimensiones básicas de este
diseño son tiempo, producto, cliente, y la tabla ventas vendría a ser los hechos que se
realizan en la empresa, es la que nos proporcionará las medidas.
Ilustración 1 : Modelo Estrella (sitio web Mundo DB)
6
Consiste en estructurar la información en procesos, vistas y métricas recordando a una
estrella). Es decir, tendremos una visión multidimensional de un proceso que medimos a
través de unas métricas. A nivel de diseño, consiste en una tabla de hechos en el centro
para el hecho objeto de análisis y una o varias tablas de dimensión por cada dimensión de
análisis que participa de la descripción de ese hecho. En la tabla de hecho encontramos los
atributos destinados a medir el hecho: sus métricas. Mientras, en las tablas de dimensión,
los atributos se destinan a elementos de nivel y a atributos de dimensión .En el esquema
en estrella la tabla de hechos es la única tabla del esquema que tiene múltiples joins que la
conectan con otras tablas. El resto de tablas del esquema únicamente hacen join con esta
tabla de hechos.
- Modelo Copo de Nieve:
El esquema en copo de nieve es un esquema de representación derivado del esquema en
estrella, en el que las tablas de dimensión se normalizan en múltiples tablas. Por esta
razón, la tabla de hechos deja de ser la única tabla del esquema que se relaciona con otras
tablas, y aparecen nuevas joins gracias a que las dimensiones de análisis se representan
ahora en tablas de dimensión normalizadas. En la estructura dimensional normalizada, la
tabla que representa el nivel base de la dimensión es la que hace join directamente con la
tabla de hechos. La diferencia entre ambos esquemas reside entonces en la estructura de
las tablas de dimensión. Para conseguir un esquema en copo de nieve se ha de tomar un
esquema en estrella y conservar la tabla de hechos, centrándose únicamente en el
modelado de las tablas de dimensión, que si bien en el esquema en estrella se
encontraban totalmente desnormalizadas, ahora se dividen en subtablas tras un proceso
de normalización. Es posible distinguir dos tipos de esquemas en copo de nieve, un "copo
de nieve" completo (en el que todas las tablas de dimensión en el esquema en estrella
aparecen ahora normalizadas en el copo de nieve) o un "copo de nieve" parcial (sólo se
lleva a cabo la normalización de algunas de ellas).
Como se observa en la ilustración 2.
Ilustración 2: diseño copo de nieve. (sitio web Mundo DB)
7
Habiendo visto ambos modelos, para este proyecto se optó por el modelo copo de nieve,
el cual mostraremos su diseño en la siguiente sección.
2.2. MODELO DE NEGOCIO DIMENSIONAL En la base de datos creada de un cinema, hemos obtenido, que los hechos
contendrían a: las proyecciones, las ventas de entradas. Ambas vendrían a ser las
medidas que usaremos.
Las dimensiones serían las tablas sombreadas de azul, las tablas de hechos, las
sombreadas de amarillo.
2.3. BASE DE DATOS La base de datos realizada es una base de datos de un cinema, como se verá a
continuación en el modelo relacional.
Ilustración 3: Modelo dimensional en Visual Studio 2010.
8
2.4. MODELO RELACIONAL
El modelo relacional fue realizado en “Erwin”, el cual nos permite del mismo modelo
obtener el código para la creación de la base en sql server, o en cualquier otro
servidor. Se usó porque sus beneficios eran muy buenos. El proceso de diseño era
fácil, y muy cómodo. Y se puede ahorrar tiempo con su uso.
2.5. INTERFAZ CON EL USUARIO El medio de comunicación con el usuario será la plataforma de Visual Studio, o si el
usuario prefiere algo más sencillo, Excel es una opción que nos puede ayudar a
visualizar los resultados.
2.6. MÓDULO DE EXPLICACIÓN Los resultados se mostrarán en pantalla, de acuerdo a lo que usuario quiera ver.
Tenemos dos medidas básicas, el número de proyecciones, y la cantidad de ventas
de entradas. Estas medidas se podrán relacionar con las dimensiones elegidas.
Al usar Excel podremos visualizar, utilizando la opción de “Datos De otras fuentes
desde Analysis Services”, se podrá visualizar el servidor local, del cual se puede
importar el cubo realizado en visual studio. Así se podrá visualizar los siguientes
resultados:
Ilustración 4: modelo relacional de la base de datos.
9
Ilustración 5: Resultados de Excel, la relación de las salas de proyección de películas, mostrando el recuento de ventas y proyecciones por casa una de ellas.
Ilustración 6: se muestra cada cliente, y las películas que a las que asistieron, y la cantidad de entradas que compraron.
10
Ilustración 8: la clasificación del tipo de pago que realizaron, cuantos lo hicieron en efectivo o con tarjeta, y las proyecciones, reflejan la cantidad de proyecciones que tuvo dicha película.
Ilustración 7: se muestra las películas, y la cantidad de proyecciones,
11
Y si el usuario desearía otros resultados. Tan solo se tendría que seleccionar las
dimensiones, y si se requiere algo más específico, el usuario deberá hacer uso de los
filtros. Cabe mencionar que gracias a Excel también se podrán realizar gráficos muy
interesantes haciendo uso de esta información ya organizada.
2.7. MÓDULO DE PREPARACIÓN DE PLATAFORMAS Y HERRAMIENTAS. Lo usado durante la creación del cubo fue:
o Sql server 2012.
o Visual Studio 2010.
o Erwin data modeler.
o Excel 2010.
Para hacer uso de estos, es necesario descargar las versiones originales, de las
páginas oficiales de descarga. En este caso, se eligió Visual 2010, porque era el
único compatible en Windows 7 con las herramientas de Business Intelligence que
ofrece sql 2012.
Ilustración 9: interface para seleccionar los filtros o búsquedas, y para mostrar los resultados según las dimensiones.
12
Erwin, es fácil de usar y se puede conseguir una versión para estudiantes en la
página oficial del mismo, es gratuito, al menos por un año.
Excel 2010, es parte del paquete de Office, y se usó para visualizar los datos del
cubo por su interface tan sencilla, y muy familiar.
2.8. VENTAJAS E INCONVENIENTES DE UN CUBO U OTRO MODELO DE BI
2.8.1. VENTAJAS
- Tiene Acceso a grandes cantidades de información.
- Permite analizar las relaciones entre diferentes tipos de datos.
- Involucra datos agregados.
- Presenta los datos en diferente perspectiva.
- Responde con rapidez a consultas de usuario.
- Fácil uso.
2.8.2. INCONVENIENTES
- No puede realizar cambios en su estructura, ya que se deberán cargar los
datos nuevamente.
- El modelo de negocios no siempre se adapta bien al modelo jerárquico.
2.9. LENGUAJE DE PROGRAMACIÓN USADOS
2.9.1. INTRODUCCIÓN A VISUAL STUDIO Y SQL
a) Visual Studio.
Visual Studio en un entorno muy completo y confiable de herramientas de
desarrollo para la generación de aplicaciones web ASP.NET, Servicios Web XML,
aplicaciones de escritorio y aplicaciones móviles. Visual Basic, Visual C# y Visual
C++ utilizan todos el mismo entorno de desarrollo integrado (IDE), que habilita el
uso compartido de herramientas y facilita la creación de soluciones en varios
lenguajes. Asimismo, dichos lenguajes utilizan las funciones de .NET Framework,
las cuales ofrecen acceso a tecnologías clave para simplificar el desarrollo de
aplicaciones web ASP y Servicios Web XML.
b) Sql server.
Es un servidor de bases de datos muy completo, que es relacional. El lenguaje que
usa es el transac-sql. Es un lenguaje antiguo, pero que aún tiene su uso muy
extendido, ya que de ahí se derivan muchos de los lenguajes para servidores de
base de datos actuales.
13
2.9.2. CARACTERÍSTICAS PRINCIPALES
a) Visual Studio. Es un IDE, que usa diversos lenguajes. En este caso no se hizo uso de
los lenguajes directamente, sino más bien del entorno que ofrece. Las plantillas
que ofrece son muy importantes. Son muy completas y están ligadas al diseño que
brinda Business Inteligence.
b) SQL. Sql consta de características esenciales como:
- Es un lenguaje muy potente
- Sencillez al indicar lo que queremos obtener, por ejemplo la sentencia
SELECT.
- La escritura de sus sentencias siguen el mismo patrón, inicia con el
verbo el cual indica la acción, seguido del objeto sobre el cual se
realizara al acción y finalizando por cláusulas que restringen la acción
deseada.
- Aunque este escrito en un idioma distinto al nuestro, debido a su
reducida, escritura es fácil de entender y de aprender.
- SQL Server proporciona un conjunto de tipos de datos del sistema que
define todos los tipos de datos que pueden utilizarse con SQL Server.
3. CUBO OLAP
3.1. PLANTEAMIENTO Y DISEÑO La base de datos creada, ya se mostró anteriormente, lo que se hizo en el diseño del
cubo fue identificar los hechos y dimensiones.
Hechos:
Medidas:
- Cantidad de Ventas.
- Cantidad de Proyecciones.
Dimensiones:
- Cliente.
- Tipo de pago.
- Proyección: película, horario, tipo de película, pago.
3.2. IMPLEMENTACIÓN Siguiendo los pasos:
- Generar una vista de datos, seleccionando “una nueva vista de datos”,
en esa opción, seleccionar las todas las tablas de la base de datos.
14
- Crear dimensión a dimensión, ya que si se deja que el asistente del
cubo cree las dimensiones, no las creara correctamente. Además asi,
se puede seleccionar solo los atributos necesarios de cada tabla para
que se carguen.
- Ahora seleccionar la opción de “nuevo cubo”, la cual nos seleccionará
automáticamente las dimensiones ya estructuradas
- Se revisa el cubo, seleccionando la opción del “examinador”. O bien
usar Excel, para visualizar los datos.
En la siguiente imagen se podrá ver cómo quedaría el proyecto en Visual Studio.
3.3. EJECUCIÓN Al tener las dimensiones ya definidas en el proyecto. Se procede a realizar el cubo.
Siempre se debe ejecutar el cubo, solo así se podrá abrir el “Examinador”, que nos
permitirá observar los datos organizados. En la ilustración 11, se muestra algunas
dimensiones relacionadas con las medidas.
Ilustración 10: la creación de dimensiones en Visual Studio.
15
3.4. Referencias Bibliográficas sitio web Mundo DB. (s.f.). Recuperado el 19 de Diciembre de 2014, de sitio web Mundo DB:
http://mundodb.es/diseno-data-warehouse-hechos-y-dimensiones-modelo-estrella-vs-
copo-de-nieve
wikipedia. (s.f.). Recuperado el 18 de Diciembre de 2014, de wikipedia:
http://es.wikipedia.org/wiki/OLAP
Ilustración 11: se visualiza en “el examinador” los recuentos de ventas y proyecciones, según las fechas. Los valores null, son aquellas entradas que aún no han sido vendidas.