2 Base de datos II Facultad de Ingeniería. Escuela de computación. Base de datos II. Guía 9 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos II en el desarrollo de sus prácticas de laboratorios, haciendo uso de este antes, durante y después de la práctica, de tal forma que ofrece un método facilitador en su proceso de enseñanza/aprendizaje durante esta asignatura. En el desarrollo de esta asignatura se ha designado realizar las prácticas en 16 sesiones semanales de laboratorios, los que incluyen 11 prácticas, dos parciales y un proyecto final durante los cuales, el estudiante aplicará los conceptos y las técnicas fundamentalmente necesarias para el dominio de programas para el uso, configuración y administración de ORACLE. Todas las guías de laboratorio están estructuradas de la siguiente forma: - Objetivos - Materiales y equipos - Introducción teórica - Procedimiento - Bibliografía - Hoja de evaluación( En caso de que la actividad sea evaluada ) La asignatura Base de Datos II,está dividida en cinco unidades durante el ciclo. La unidad 1 Administración avanzada de bases de datos tendrá 3 laboratorios prácticos, la unidad 2 Arquitectura de bases de datos tendrá 2 laboratorios prácticos y la unidad 3 Diseño de un Datawarehuse tendrá 4 laboratorios prácticos. La unidad 4 Minería de datos tendrá 3 laboratorios prácticos. Y finalmente la Unidad 5 Calidad de datos y auditoria de bases de datos tendrá 3 laboratorios prácticos. 4 Base de datos II, Guía 9 Facultad: Ingeniería. Escuela: Computación. Asignatura: Base de datos II. Pág Tabla de Contenido Guía 9. Diseño de Cubos Guía 6 Contenido ----------------------------------------------------------------------------------------- 5 a1 Objetivos ------------------------------------------------------------------------------------------ 5 Materiales y equipos ----------------------------------------------------------------------------- 5 Introducción teórica. ----------------------------------------------------------------------------- 5 OLAP ---------------------------------------------------------------------------------- 5 Procedimiento. ------------------------------------------------------------------------------------ 17 Investigación -------------------------------------------------------------------------------------- 17 Bibliografía --------------------------------------------------------------------------------------- 17 Base de datos II. Guía 9 5 Tema: MONITOREO DE BASE DE DATOS Contenidos En la presente guía de laboratorio se presentaran conceptos básicos de monitoreo de sistema, así como procedimientos prácticos. Objetivo Específico Desarrolla un cubo desde EXCEL hacia la base de datos transaccional y hacia la base datos del DWH. Materiales y Equipo Instaladores de ORACLE. Virtual de Windows 2003 server. Cliente de Oracle Instalado. Excel Introducción Teórica Cubo OLAP Cubo OLAP de tres dimensiones (Ciudades, Productos y Tiempo). Un cubo OLAP, OnLine Analytical Processing o procesamiento Analítico En Línea, término acuñado por Edgar Frank Codd de EF Codd & Associates, encargado por Arbor Software (en la actualidad Hyperion Solutions), es una base de datos multidimensional, en la cual el almacenamiento físico de los datos se realiza en un vector multidimensional. Los cubos OLAP se pueden considerar como una ampliación de las dos dimensiones de una hoja de cálculo. A menudo se pensaba que todo lo que los usuarios pueden querer de un sistema de información se podría hacer de una base de datos relacional. No obstante Codd fue uno de los precursores de las bases de datos relacionales, por lo que sus opiniones fueron y son respetadas. 6 Base de datos II, Guía 9 Introducción La propuesta de Codd consistía en realizar una disposición de los datos en vectores para permitir un análisis rápido. Estos vectores son llamados cubos. Disponer los datos en cubos evita una limitación de las bases de datos relacionales, que no son muy adecuadas para el análisis instantáneo de grandes cantidades de datos. Las bases de datos relacionales son más adecuados para registrar datos provenientes de transacciones (conocido como OLTP o procesamiento de transacciones en línea). Aunque existen muchas herramientas de generación de informes para bases de datos relacionales, éstas son lentas cuando debe explorarse toda la base de datos. Por ejemplo, una empresa podría analizar algunos datos financieros por producto, por período, por ciudad, por tipo de ingresos y de gastos, y mediante la comparación de los datos reales con un presupuesto. Estos parámetros en función de los cuales se analizan los datos se conocen como dimensiones. Para acceder a los datos sólo es necesario indexarlos a partir de los valores de las dimensiones o ejes. El almacenar físicamente los datos de esta forma tiene sus pros y sus contras. Por ejemplo, en estas bases de datos las consultas de selección son muy rápidas (de hecho, casi instantáneas). Pero uno de los problemas más grandes de esta forma de almacenamiento es que una vez poblada la base de datos ésta no puede recibir cambios en su estructura. Para ello sería necesario rediseñar el cubo. En un sistema OLAP puede haber más de tres dimensiones, por lo que a los cubos OLAP también reciben el nombre de hipercubos. Las herramientas comerciales OLAP tienen diferentes métodos de creación y vinculación de estos cubos o hipercubos (véase Tipos de OLAP en el artículo sobre OLAP). Un ejemplo Un analista financiero podría querer ver los datos de diversas formas, por ejemplo, visualizándolos en función de todas las ciudades (que podrían figurar en el eje de abscisas) y todos los productos (en el eje de ordenadas), y esto podría ser para un período determinado, para la versión y el tipo de gastos. Después de haber visto los datos de esta forma particular el analista podría entonces querer ver los datos de otra manera y poder hacerlo de forma inmediata. El cubo podría adoptar una nueva orientación para que los datos aparezcan ahora en función de los períodos y el tipo de coste. Debido a que esta reorientación implica resumir una cantidad muy grande de datos, esta nueva vista de los datos se debe generar de manera eficiente para no malgastar el tiempo del analista, es decir, en cuestión de segundos, en lugar de las horas que serían necesarias en una base de datos relacional convencional. Dimensiones y jerarquías Cada una de las dimensiones de un cubo OLAP puede resumirse mediante una jerarquía. Por ejemplo si se considera una escala (o dimensión) temporal "Mayo de 2005" se puede incluir en "Segundo Trimestre de 2005", que a su vez se incluye en "Año 2005". De igual Base de datos II. Guía 9 7 manera, otra dimensión de un cubo que refleje una situación geográfica, las ciudades se pueden incluir en regiones, países o regiones mundiales; los productos podrían clasificarse por categorías, y las partidas de gastos podrían agruparse en tipos de gastos. En cambio, el analista podría comenzar en un nivel muy resumido, como por ejemplo el total de la diferencia entre los resultados reales y lo presupuestado, para posteriormente descender en el cubo (en sus jerarquías) para poder observar con un mayor nivel de detalle que le permita descubrir en el cubo los lugares en los que se ha producido esta diferencia, según los productos y períodos. Dispersión en cubos OLAP Vincular o enlazar cubos es un mecanismo para superar la dispersión. Ésta se produce cuando no todas las celdas del cubo se rellenan con datos (escasez de datos o valores nulos). El tiempo de procesamiento es tan valioso que se debe adoptar la manera más efectiva de sumar ceros (los valores nulos o no existentes). Por ejemplo los ingresos pueden estar disponibles para cada cliente y producto, pero los datos de los costos pueden no estar disponibles con esta cantidad de análisis. En lugar de crear un cubo disperso, a veces es mejor crear otro cubo distinto, pero vinculado, en el que un subconjunto de los datos se pueden analizar con gran detalle. La vinculación asegura que los datos de los dos cubos mantengan una coherencia. Acceso y cálculo de un cubo OLAP Los datos de los cubos pueden ser actualizados de vez en cuando, tal vez por personas diferentes de forma concurrente. Para solventar este problema a menudo es necesario bloquear partes de un cubo mientras otro usuario está escribiendo, para volver a calcular los totales en el cubo. Otras implementaciones añaden la posibilidad de mostrar una alerta que indique que los totales calculados previamente ya no son válidos tras los nuevos datos. También hay algunos productos que calculan los totales cuando se les necesita con los últimos datos producidos en el sistema. Crear una tabla dinámica Una tabla dinámica consiste en el resumen de un conjunto de datos, atendiendo a varios criterios de agrupación, representado como una tabla de doble entrada que nos facilita la interpretación de dichos datos. Es dinámica porque nos permite ir obteniendo diferentes totales, filtrando datos, cambiando la presentación de los datos, visualizando o no los datos origen, etc... Para aquellos que tengais conocimientos de Access es lo más parecido a una consulta de referencias cruzadas, pero con más interactividad. Veamos cómo podemos crear una tabla dinámica a partir de unos datos que ya tenemos. Para crear una tabla dinámica, Excel nos proporciona las tablas y gráficos dinámicos. 8 Base de datos II, Guía 9 Supongamos que tenemos una colección de datos de los artículos del almacén con el número de referencia y el mes de compra, además sabemos la cantidad comprada y el importe del mismo. Vamos a crear una tabla dinámica a partir de estos datos para poder examinar mejor las ventas de cada artículo en cada mes. Para ello vamos a la pestaña Insertar y hacemos clic en Tabla dinámica (también podemos desplegar el menú haciendo clic en la flecha al pie del botón para crear un gráfico dinámico). Aparece el cuadro de diálogo de creación de tablas dinámicas. Desde aquí podremos indicar el lugar donde se encuentran los datos que queremos analizar y el lugar donde queremos ubicarla. Base de datos II. Guía 9 9 En nuestro caso indicamos que vamos a seleccionar los datos de un rango de celdas y que queremos ubicarla en una hoja de cálculo nueva. Podríamos crear una conexión con otra aplicación para obtener los datos desde otra fuente diferente a Excel. En el caso de seleccionar la opción Sutilice elecciona una tabla o rango debemos seleccionar todas las celdas que vayan a participar, incluyendo las cabeceras. Pulsamos Aceptar para seguir Se abrirá un nuevo panel en la derecha de la pantalla: 10 Base de datos II, Guía 9 Desde este panel podemos personalizar la forma en que van a verse los datos en la tabla dinámica. Con esta herramienta podríamos contruir una tabla dinámica con la siguiente estructura: - Una fila para cada una de las Referencias de la tabla. - Una columna para cada uno de los Meses de la tabla. - En el resto de la tabla incluiremos el total del Importe para cada Referencia en cada Mes. Para ello simplemente tendremos que arrastrar los elementos que vemos listados a su lugar correspondiente al pie del panel. Base de datos II. Guía 9 11 En este ejemplo deberíamos arrastrar el campo REF a y finalmente el campo IMPORTE a la sección , el campo MES a . Tras realizar la tabla dinámica este sería el resultado obtenido. Podemos ver que la estructura es la que hemos definido anteriormente, en el campo fila tenemos las referencias, en el campo columnas tenemos los meses y en el centro de la tabla las sumas de los importes. Con esta estructura es mucho más fácil analizar los resultados. Una vez creada la tabla dinámica nos aparece la pestaña Opciones: El panel lateral seguirá pudiéndose utilizar, así que en cualquier momento podremos quitar un campo de un zona arrastrándolo fuera. Con esto vemos que en un segundo podemos variar la estructura de la tabla y obtener otros resultados sin casi esfuerzos. Si arrastrásemos a la zona de datos los campos cantidad y total, obtendríamos la siguiente tabla, más compleja pero con más información: 12 Base de datos II, Guía 9 Eliminar una tabla dinámica. Para eliminar una tabla dinámica simplemente debemos seleccionar la tabla en su totalidad y presionar la tecla Supr Aplicar filtros a una tabla dinámica Base de datos II. Guía 9 13 Otra característica útil de las tablas dinámicas es permitir filtrar los resultados y así visualizar unicamente los que nos interesen en un momento determinado. Esto se emplea sobre todo cuando el volumen de datos es importante. Los campos principales en el panel y los rótulos en la tabla están acompañados, en su parte derecha, de una flecha indicando una lista desplegable. Por ejemplo, si pulsamos sobre la flecha del rótulo Rótulos de columna nos aparece una lista como vemos en la imagen con los distintos meses disponibles en la tabla con una casilla de verificación en cada uno de ellos para indicar si los queremos ver o no, más una opción para marcar todas las opciones en este caso todos los meses. Si dejamos marcados los meses Enero y Febrero, los otros meses desaparecerán de la tabla, pero no se pierden, en cualquier momento podemos visualizarlos volviendo a desplegar la lista y marcando la casilla (Seleccionar todo). Para cerrar este cuadro debemos pulsar en Aceptar o sobre Cancelar para cerrar y dejarlo como estaba. Aplicando el filtro a varios campos podemos formar condiciones de filtrado más complejas, por ejemplo podemos seleccionar ver los articulos con referencia 1236 de Abril. Obtener promedios en una tabla dinámica Por defecto, al crear una tabla dinámica, Excel nos genera unos totales con sumatorio, puede interesarnos modificar esas fórmulas por otras como pueden ser sacar el máximo o el mínimo, el promedio, etc. Para hacer esto debemos situarnos en cualquier celda de la zona que queremos rectificar y hacer clic con el botón derecho del ratón, nos aparece un menú emergente con diferentes opciones, debemos escoger la opción Configuración de campo de valor... y nos aparece un cuadro de diálogo como el que vemos en la imagen. 14 Base de datos II, Guía 9 En este cuadro de diálogo podemos escoger cómo queremos hacer el resumen, mediante Suma, Cuenta, Promedio, etc. También podemos abrir el cuadro de diálogo con el botón pestaña Opciones. Gráficos dinámicas con de la tablas Para crear una gráfica de nuestra tabla dinámica deberemos hacer clic en el botón Gráfico dinámico de la pestaña Opciones. Para cambiar el formato del gráfico a otro tipo de gráfico que nos agrade más o nos convenga más según los datos que tenemos. Al pulsar este botón se abrirá el cuadro de diálogo de Insertar gráfico, allí deberemos escoger el gráfico que más nos convenga. Luego, la mecánica a seguir para trabajar con el gráfico es la misma que se vió en el tema de gráficos. Base de datos II. Guía 9 15 En el caso de seleccionar la opción Utilice una fuente de datos externa se habilitara el botón de Elegir conexión, al ingresar a el se mostrara la siguiente ventana. 16 Base de datos II, Guía 9 En esta ventana, seleccionaremos el archivo de conexión que necesitamos, en caso de ser la primera vez de crear una conexión o de no encontrar la conexión utilizaremos el botón de examinar en busca de mas. Lo cual nos llevara a la siguiente ventana: Al dar nuevo origen tendremos el siguiente menú de opciones : Para nuestro ejercicio utilice la opciones de OLE DB para ORACLE, y siga los pasos de conexión de una base de ORACLE, considerando los servicename y el host de instalación al cual se haya conectado. Base de datos II. Guía 9 17 Procedimiento Bibliografía 1. Desarrolle una tabla dinámica que permita a los usuarios trabajar con las variables siguientes: Año, nombre del mes (en español), Nombre del producto, nombre del Guía 1 vendedor, cantidad de productos vendidos, venta (en dólares) total del artículo (el cual debe considerar las devoluciones). 2. La tabla dinámica deberá estar desarrollada en base a: a. Vista en ORACLE. b. Vista materializada en ORACLE. c. Tabla resumen creada por un storeprocedure en ORACLE. d. Vista en SQLServer. (Para lo cual deberá desarrollar un ETL que exporte la vista de ORACLE hacia una tabla de SQLServer). Investigación Complementaria ¿ Cuál de las estructuras del paso 3 fue más rápida en devolver los datos?. Sustente su Guía respuesta: 3 Guía 4 Bibliografía fíaORACLE 11g. Curso práctico. Teaching Soft Group. 3 9i. Manual del administrador. Técnicas de gestión de datos Oracle robustas y Guía ORACLE de alto rendimiento. Kevin Loney/ Marlene Thenault. Oracle Enterprise Manager 11g: Grid Control Essentials Guía 4 fía