FACULTAD DE INGENIERÍA Carrera Ingeniería de Sistemas MODALIDAD DE GRADUACIÓN Proyecto de Grado “Data Mart para la gestión de reportes y apoyo a la toma de decisiones del departamento de RR.HH. de la empresa de agua S.A.” Oscar Marcos Amelunge Ruiz Santa Cruz - Bolivia 2010 FACULTAD DE INGENIERÍA Carrera Ingeniería de Sistemas MODALIDAD DE GRADUACIÓN Proyecto de Grado “Data Mart para la gestión de reportes y apoyo a la toma de decisiones del departamento de RR.HH. de la empresa de agua S.A.” Oscar Marcos Amelunge Ruiz NR. 2003210474 Proyecto de Grado para optar al grado de Licenciado en Ingeniería de Sistemas Santa Cruz - Bolivia 2010 ABSTRACT TITULO AUTOR Data Mart para la gestión de reportes y apoyo a la toma de decisiones del departamento de RR.HH. de la empresa de agua S.A. : Oscar Marcos Amelunge Ruiz. PROBLEMATICA OBJETIVO CONTENIDO CARRERA PROFESOR GUIA DESCRIPTORES O TEMAS : Ingeniería de Sistemas : : Data Warehouse, Data Mart, Analisis, Diseño, Modelo Dimensional. E-MAIL : oscar.amelunge@gmail.com : Julio de 2010. FECHA AGRADECIMIENTO En esta sección se realizara el agradecimiento correspondiente RESUMEN INTRODUCCION Desde principios de la década de los 80 los sistemas de información empezaron a desarrollarse utilizando el modelo relacional y la información almacenada en las bases de datos generalmente ha sido orientada al registro de transacciones, lo que comúnmente se conoce como sistemas OLPT – “OLTP es la sigla en inglés de Procesamiento de Transacciones En Línea (Online Transaction Processing) es un tipo de sistemas que facilitan y administran aplicaciones transaccionales, usualmente para entrada de datos y recuperación y procesamiento de transacciones.” (WIKIPEDIA, 2010). Como su nombre lo dice este tipo de sistemas están orientados exclusivamente generar información a través de transacciones y no a la consulta y análisis de la información, ya que al aumentar el volumen de información en los sistemas transaccionales se dificulta la consulta de los datos generados. Como alternativa a esta situación surgió el concepto de Data Warehouse (D.W.) (almacén de datos) como lo define Ralph Kimball “una copia de las transacciones de datos específicamente estructurada para la consulta y el análisis” o “la unión de todos los Data Marts de una entidad” (Kimball, 2002)(Ralph Kimball 2002). El objetivo primordial de un D.W.es almacenar los datos de tal manera que se facilita la extracción y consulta de los mismos sin importar el amplio volumen de información que pueda existir. Normalmente el alcance que tiene un D.W. llega a ser, toda la información generada empresa, la construcción de un D.W. requiere una inversión en tiempo y esfuerzo considerable. Una estrategia o concepto alternativo al D.W. que tiene el mismo fin pero con un alcance más limitado a un área o departamento de empresa es el Data mart. “Un Data mart es una versión especial de almacén de datos (Data Warehouse). Son subconjuntos de datos con el propósito de ayudar a que un área específica dentro del negocio pueda tomar mejores decisiones. Los datos existentes en este contexto pueden ser agrupados, explorados y propagados de múltiples formas para que diversos grupos de usuarios realicen la explotación de los mismos de la forma más conveniente según sus necesidades.” (WIKIPEDIA, 2010). En los tiempos actuales las empresas necesitan depositar toda su confianza en la toma de decisiones, para lo cual se requieren fuentes de información fiables y oportunas, la cuales brinden a los empleados, jefes de sección, administrativos, ejecutivos y también entes externos a la empresa como ser: organismos gubernamentales, bancos, fondos financieros, etc. la facilidad de compartir, gestionar, procesar y utilizar los datos generados, sobre todo la información que es procesada y almacenada por los Sistemas de Informatizados de la compañía como fuente principal de apoyo a la toma de decisiones, marco del estado actual e indicador de los posibles estados futuros; para esto las empresas pueden valerse de los D.W.. El presente trabajo de grado pretende enfocarse en la implementación de un Data Mart para una de las aéreas de empresa mayor estudiada y de mayor preocupación; los Recursos Humanos, eje principal del aparato productivo de toda organización. La cantidad de información generada por las actividades y procesos concernientes al control y gestión de recursos humanos en las empresas es substancial, y de la misma pueden derivarse una gran cantidad de información como ser control de asistencias y permisos, control de vacaciones, planillas de sueldos, pagos de beneficios, etc. TABLA DE CONTENIDO .PARTE I PLANIFICACIÓN Y PREPARACIÓN DEL PROYECTO ................................................... 2 i PARTE I PLANIFICACIÓN Y . PREPARACIÓN DEL PROYECTO CAPITULO I PLAIFICACION DEL PROYECTO 1. PLANIFICACION DEL PROYECTO 1.1. INTRODUCCION 1.2. DEFINICION DEL PROBLEMA El departamento de Recursos Humanos de la empresa de agua S.A. cuenta actualmente con un sistema de información con el cual se gestionan y almacena la información de más de 600 funcionarios. El sistema utiliza como repositorio de información una base de datos cuyo diseño relacional está orientado mas al almacenamiento que a la consulta y explotación de los mismo, con el paso del tiempo los usuarios de dicho sistema han ido requiriendo cada vez mayor cantidad de reportes y necesidad de poder analizar la información de los funcionarios, con lo cual el modelo transaccional sobre la cual está construida la base de datos dificulta el estudio de la información almacenada en la misma. Con los sistemas tradicionales se preparan reportes ad-hoc para encontrar las respuestas a algunas de las preguntas del negocio, pero se necesita dedicar mucho del tiempo al análisis de localización, formateo, presentación y procesamiento de los datos, como también asignación de recursos humanos del departamento de sistemas para poder responderlas, sin tener en cuenta la degradación de los sistemas transaccionales. Esta problemática se debe a que dichos sistemas transaccionales no fueron construidos con el fin de brindar síntesis, análisis, consolidación, búsquedas y proyecciones. Existe una gran cantidad de reportes ad-hoc asociados a los datos que se registran en el sistema de recursos humanos y la variación de los mismos en el tiempo es poco significativa, la herramienta en la cual están construidos y publicados estos reportes exige que cada vez que se requiera un cambio menor en el mismo, tenga que contactarse a los desarrolladores para que el reporte ad-hoc sea modificado, lo cual implica un retraso para la persona o área de empresa que necesita el reporte. 1.3. SITUACION PROBLEMÁTICA CAPITULO I PLAIFICACION DEL PROYECTO No existe una disponibilidad inmediata de la información para la generación de reportes y consulta de datos de los empleados. 1.4. SITUACION DESEADA Contar con un Data Mart que almacene la información generada por el sistema de recursos humanos y que de la posibilidad de acceder dicha información de manera inmediata a través de una herramienta de consulta. 1.5. JUSTIFICACIÓN La ventaja de utilizar un Data Mart como herramienta al soporte de decisiones son muchas por ejemplo: que el departamento de RR. HH. pueda consultar la información sin tener que depender de personal técnico (programadores o analistas de sistemas) que genere los reportes o consultas ad hoc a través de un lenguaje y/o herramienta de programación, lo cual además conlleva en disminuir el tiempo de espera en la generación de reportes por parte del personal técnico. Además el departamento de RR. HH. Podrá manejar la información, examinarla desde diferentes puntos de vista, de manera que puedan entenderla mejor e interpretarla de acuerdo a su criterio. 1.6. OBJETIVOS 1.6.1. OBJETIVO GENERAL Construir un Data Mart para la gestión de reportes y apoyo a la toma de decisiones del departamento de RR.HH. de la empresa de agua S.A. 1.6.2. OBJETIVOS ESPECIFICOS Definir los requerimientos generales del área de RRHH para la construcción del Data Mart. Analizar y definir las fuentes de datos que permitan alimentar el Data Mart. Realizar el diseño de la base de datos del Data Mart Definir los procesos de ETL para alimentar el Data Mart. Construir una versión Beta de la base de datos y los procesos ETL del Data Mart. CAPITULO I PLAIFICACION DEL PROYECTO 1.7. ALCANCE La metodología a utilizar será El Proceso de Ingeniería para el Data Warehouse (DWEP por sus siglas en ingles) planteado en la tesis doctoral de Luján-Mora (Luján Mora, 2005) utilizando como herramientas de modelado al Lenguaje Unificado de Modelado (UML) y las extensiones multidimensional profile, data mapping profile, ETL profile, UML profile database desing y database deployment profile planteadas en la citada tesis doctoral. Fases Inicio Requerimientos o Requerimientos funcionales y no funcionales. o Identificación de las medidas y dimensiones más importantes. o Análisis de los reportes periódicos que se utilizan actualmente. o Elaboración del modelo del dominio o Elaboración de los casos de uso más importantes Análisis o Determinación de las posibles fuentes de datos o Elaboración de los diagramas lógico de la fuente de datos SLS, diagrama físico de las fuentes de datos SPS. Diseño o Diseño definición de la estructura del data Warehouse o Elaboración del diagrama conceptual del data Warehouse DWCS. Elaboración Requerimientos o Recolección y refinamiento de requerimientos. o Identificación de nuevas medidas agregaciones y dimensiones. Análisis o Elección de fuentes de datos que alimenta el DM. o Actualización de los diagramas SLS, SPS. CAPITULO I PLAIFICACION DEL PROYECTO o Elaboración de los diagramas diagrama conceptual SCS. Diseño o Definición procesos ETL a nivel conceptual. o Actualización del diagrama DWCS. o Elaboración del diagrama mapeo de datos de integración DM. Implementación Elaboración de las estructuras físicas. CAPITULO I PLAIFICACION DEL PROYECTO CAPITULO II DATA WAREHOUSE Y DATA MART CAPITULO I PLAIFICACION DEL PROYECTO 2. INTRODUCCION 2.1. DATA WAREHOUSE Segun Bill Immon (1994) se puede definir a un Data Warehouse como “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”. 2.1.1. ORIENTACION AL TEMA El Data Warehouse ser organiza alrededor de los temas principales de la empresa. Asi los datos se estructuran por temas, contrariamente a los datos de los sistemas transaccionales, organizados generalmente por procesos funcionales. La integración de los diferentes temas en una estructura única es necesaria para que la información común a varios temas no se repita. 2.1.2. DATOS INTEGRADOS Antes de llegar al Data Warehouse, los datos deben formatearse y unificarse para llegar a un estado coherente. Un dato debe tener únicamente una descripción y una codificación. Las diferencias que existen en los datos de las fuentes dependen de la visión deseada por el usuario, de la utilización que se hace, o de los programadores. La integración de datos constituye una gran parte de la labor de construir un Data Warehouse y se realiza mediante los proceso de extracción, transformación y carga o procesos ETL. 2.1.3. DATOS HISTÓRICOS U Data Warehouse almacena el histórico de datos de la empresa y los datos actuales con los que cuenta. Suponiendo que cada día se obtienen los datos, cada dato de un día sobre algo constituye un dato diferente al de otro día sobre lo mismo. Una vez ingresada la información al Data Warehouse, ésta no se actualiza, a no ser por casos excepcionales. 2.1.4. DANOS NO VOLÁTILES CAPITULO I PLAIFICACION DEL PROYECTO La no volatilidad es, de cierta forma una consecuencia de que los datos sean históricos. Al no actualizarse los datos, una consulta sobre determinados datos será siempre la misma. 2.2. DATA MART Según la definición de Oracle Corporation “Un Data Mart es una forma simple de un Data Warehouse que esta enfocada en una área funcional de empresa como ser Ventas, finanzas, marketing, etc.” De acuerdo a Immon (1999) existen dos tipos de ata Mart: dependientes e independientes. Un Data Mart dependiente es aquel cuya fuente de datos es un Data Warehouse, Un Data Mart independiente es aquel cuya fuente de datos son los sistemas transaccionales, el Data Mart a construir en el presente trabajo de grado. 2.3. DIFERENCIA ENTRE UN DATA MART Y UN DATA WAREHOUSE Un Data Warehouse maneja información de distintas areas típicamente es implementado como el repositorio central de información de toda una organización, mientras que que un Data Mart maneja información de un departamento en particular. La tabla siguiente muestra una comparación de las principales diferencias entre el Data Mart y el Data Warehouse: Categoría Data Warehouse Data Mart Alcance Corporativo Área de Negocios Temas Multiples Simples Fuentes de Datos Muchas Pocas Tamaños 100 GB-TB+ < 100 GB Tiempo de implementación Fuente De meses a años Meses http://download.oracle.com/docs/cd/E10352_01/doc/bi.1013/e10312/dm_concepts.htm 2.4. LOS PROCESOS ETL Los procesos ETL son los que permiten a la organización mover datos desde distintas fuentes de datos, formatearlos, purgarlos y cargarlos en otra base de datos, Data Mart o Data Warehouse (wikipedia 2010). CAPITULO I PLAIFICACION DEL PROYECTO Es ampliamente reconocido que el diseño y mantenimiento de estos procesos ETL es un factor clave de éxito en los proyectos de Data Warehouse. Debido a la dificultad de diseñar y mantener este tipo de procesos, existen muy poca proliferación de herramientas de este tipo e igualmente respecto al modelado de estos procesos (Lujan,2005). 2.5. BASES DE DATOS OPERACIONALES VS. DATA WAREHOSE Existen muchas características que diferencian a las bases de datos convencionales de los Data Warehouse, una de las principales es el fin que tienen estas, mientras que las base de datos convencionales están pensadas para soportar procesos transaccionales de almacenamiento de información, los Data Warehouse están orientados a la consulta y explotación de datos, sin embargo es importante mencionar que ambos no son mutuamente excluyentes si no más bien complementarios. Las bases de datos operacionales trabajan con un tipo de procesamiento OLPT mientras que un Data Warehouse trabaja bajo un procesamiento de tipo OLAP. 2.6. OLPT De acuerdo a Wikipedia (2010) Online transaction processing por sus siglas es un tipo de sistemas que facilitan y administran aplicaciones transaccionales, usualmente para entrada de datos y recuperación y procesamiento de transacciones (gestor transaccional). Los paquetes de software para OLTP se basan en la arquitectura cliente-servidor ya que suelen ser utilizados por empresas con una red informática distribuida. La tecnología OLTP se utiliza en innumerables aplicaciones, como en banca electrónica, procesamiento de pedidos, comercio electrónico, supermercados o industria. 2.7. OLAP De acuerdo a Wikipedia(2010) OLAP es el acrónimo en ingles de procesamiento analítico en línea. Es una solución que consiste en consultas a estructuras multidimensionales (cubos OLAP) que conienen datos resumidos de grandes Bases de Datos o Sistemas Transaccionales (OLPT). Se usa en informes de negocios de ventas, marketing, informes de dirección, minería de datos y aéreas similares. CAPITULO I PLAIFICACION DEL PROYECTO De acuerdo con Wikipedia(2010) existen distintos tipos de OLAP: ROLAP Implementación OLAP que almacena los datos en un motor relacional. Típicamente, los datos son detallados, evitando las agregaciones y las tablas se encuentran normalizadas. Los esquemas más comunes sobre los que se trabaja son estrella ó copo de nieve, aunque es posible trabajar sobre cualquier base de datos relacional. La arquitectura está compuesta por un servidor de banco de datos relacional y el motor OLAP se encuentra en un servidor dedicado. La principal ventaja de esta arquitectura es que permite el análisis de una enorme cantidad de datos. MOLAP Esta implementación OLAP almacena los datos en una base de datos multidimensional. Para optimizar los tiempos de respuesta, el resumen de la información es usualmente calculado por adelantado. Estos valores precalculados o agregaciones son la base de las ganancias de desempeño de este sistema. Algunos sistemas utilizan técnicas de compresión de datos para disminuir el espacio de almacenamiento en disco debido a los valores precalculados. HOLAP (Hybrid OLAP) Almacena algunos datos en un motor relacional y otros en una base de datos multidimensional. 2.8. CUBO OLAP Existen distintos concepto de acuerdo al punto de vista de los que es un cubo olap: Según Wikipedia(2010) 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. CAPITULO I PLAIFICACION DEL PROYECTO Según (PradoLand,2000) “un cubo es un subconjunto de datos de un Data Warehouse, organizado y sumariado dentro de una estructura multidimensional. Los datos se sumarizan de acuerdo a factores de negocio seleccionados, proveyendo el mecanismo para un rápido y uniforme tiempo de respuesta de las complejas consultas”. Las estructuras multidimensionales que se mencionan en el enunciado anterior y que forman un cubo son las dimensiones y las medidas. 2.8.1. MEDIDAS Según Oracle Corp. (2000) “Las medidas contienen los datos que se desean analizar como Ventas o Costos. Las medidas son las columnas normalmente” Measures contain the data that you wish to analyze, such as Sales or Cost. OLAP Catalog metadata requires that a column have a numerical or a date data type to be identified as a measure. Most frequently, a measure is numerical and additive. http://download.oracle.com/docs/cd/B10500_01/olap.920/a95295/designd6.htm PARTE II ANALISIS Y DISEÑO DEL DATA MART CAPITULO 2 REQUERIMIENTOS 2. REQUERIMIENTOS “Los requerimientos determinan que datos van a estar disponibles en el Data warehouse, como estos datos estarán organizado y con que frecuencia estos serán actualizados.”(Kimbal,1998). A diferencia del Data Warehouse el Data Mart se centra en proveer información particular sobre un departamento de la empresa o area funcional, en este caso el Departamento de RRHH de la empresa de agua S.A. por tanto los requerimientos deben determinar las necesitadas de información de esta área de la empresa. La publicación de Oracle Corporation “The Oracle Data Mart Suite Cookbook” recomienda clasificar los requerimientos en dos grupos: Requerimientos del Negocio y Requerimientos Técnicos. 2.1. REQUERIMIENTOS FUNCIONALES Los requerimientos del negocios para el departamento de RRHH de la empresa de agua S.A. son los siguientes: CASOS DE USO 2.2. REQUERIMIENTOS NO FUNCIONALES 3. ANALISIS 4. DISEÑO 5. CONSTRUCCION DEL DATA MART 6. CONCLUCIONES Y RECOMENDACIONES PARTE III COSTRUCCION Y PRUEBAS DEL DATA MART PARTE IV CONCLUSIONES Y RECOMENDACIONES REFERENCIAS BIBLIOGRAFICAS (Kimbal,1998) Kimball, Ralph. The Data Warehouse Lifecycle Toolkit. Impreso en Estados Unidos:Wiley, 1998. ORACLE. http://download.oracle.com/docs/cd/E10352_01/doc/bi.1013/e10312/dm_concepts.htm Consultado 19 de agosto del 2010 Wikipedia etl http://es.wikipedia.org/wiki/Extract,_transform_and_load