Proyecto Base de Datos Empresa Selección Personal
Proyecto Base de Datos Empresa Selección Personal
Proyecto Base de Datos Empresa Selección Personal
10 de Junio de 2012
PFC Bases de Datos UOC 2
Dedicatoria y agradecimientos
A mi familia, por la paciencia y el apoyo contínuo que siempre me han demostrado, y sin el cual no
hubiera podido dedicarme a estos estudios.
Agradecer también como no, a toda la comunidad UOC, compañeros de estudio y consultores, el
apoyo recibido durante todos estos años.
2 de 54
PFC Bases de Datos UOC 3
Resumen
Este documento pretende reflejar el trabajo realizado durante el diseño e implementación de una base
de datos relacional para una empresa de gestión de personal.
La base de datos (en adelante BBDD) servirá para la gestión tanto de las ofertas, como de las
demandas de trabajo, almacenando toda la información de las empresas que ofertan puestos de trabajo
y los currículos de los demandantes.
En primer lugar nos dedicaremos a analizar los requisitos del sistema, para posteriormente diseñar e
implementar la BBDD necesaria, que será gestionada mediante procedimientos internos a la misma
(Stored Procedures1 y Scripts SQL).
En la base de datos guardaremos la información contenida en los currículos de los demandantes de
empleo, para poder posteriormente seleccionar los más idóneos. También guardaremos la información
de las empresas que ofertan puestos de trabajo, y los requisitos que han de cumplir los candidatos.
Hay que diseñar la BBDD de manera que sea fácilmente escalable, para poder incorporar las futuras
necesidades.
En un apartado posterior, diseñaremos e implementaremos un almacén de datos (Data Warehouse, en
adelante DW), para poder obtener estadísticas que posibiliten el estudio del negocio y facilitar la toma
de decisiones a los gestores de la empresa.
Finalmente, intentaremos dotar a la BBDD de mecanismos que permitan efectuar un mantenimiento
de la misma, generando un registro sobre su funcionamiento.
1 Pequeños programas o procedimientos disponibles para las aplicaciones que quieren acceder a una Base de Datos.
3 de 54
PFC Bases de Datos UOC 4
Índice de contenidos
Dedicatoria y agradecimientos..........................................................................................2
Resumen............................................................................................................................3
Índice de ilustraciones.......................................................................................................7
1 Introducción..................................................................................................................8
1.1 Justificación...................................................................................................8
1.2 Objetivos........................................................................................................8
1.3 Enfoque y método utilizado...........................................................................9
1.4 Planificación................................................................................................10
1.4.1 Estudio..........................................................................................10
1.4.2 Alcance.........................................................................................10
1.4.3 Gestión del tiempo........................................................................11
1.4.3.1 EDT............................................................................................12
1.4.3.2 Cronograma...............................................................................16
1.4.3.3 Control de la planificación.........................................................17
1.4.4 Gestión de riesgos.........................................................................17
1.4.5 Gestión de la calidad.....................................................................18
1.4.6 Sistema de soporte........................................................................18
1.5 Productos obtenidos.....................................................................................19
1.6 Breve descripción de otros capítulos...........................................................19
2 Construcción de la Base de Datos...............................................................................19
2.1 Análisis de Requisitos de la BBDD.............................................................19
2.1.1 Requisitos funcionales..................................................................20
2.1.2 Diagramas de casos de uso...........................................................21
2.1.3 Especificación de los casos de uso...............................................22
................................................................................................................23
................................................................................................................23
................................................................................................................24
................................................................................................................24
................................................................................................................25
................................................................................................................25
................................................................................................................26
................................................................................................................26
................................................................................................................27
................................................................................................................27
4 de 54
PFC Bases de Datos UOC 5
................................................................................................................27
................................................................................................................28
................................................................................................................28
................................................................................................................28
................................................................................................................29
................................................................................................................29
................................................................................................................30
................................................................................................................30
2.2 Diseño de la BBDD.....................................................................................31
2.2.1 Diseño conceptual.........................................................................31
2.2.2 Modelo lógico...............................................................................32
2.2.3 Modelo relacional de la BDD.......................................................33
2.2.4 Modelo ER....................................................................................34
2.2.5 Diseño físico de la BBD...............................................................35
2.2.6 Procedimientos almacenados........................................................35
2.3 Auditoria de la BBDD.................................................................................39
2.3.1 Creación del sistema de auditoría.................................................39
2.4 Pruebas de la Base de Datos........................................................................40
2.4.1 Diseño de las pruebas...................................................................40
2.4.2 Ejecución de las pruebas...............................................................40
3 Construcción del Almacén de Datos (DW)................................................................42
3.1 Análisis de requisitos del DW.....................................................................42
3.1.1 Diagrama de casos de uso.............................................................43
3.1.2 Especificación de los casos de uso...............................................44
3.2 Diseño del DW.............................................................................................45
3.2.1 Diagrama UML del diseño conceptual.........................................46
3.2.2 Diseño lógico del DW..................................................................46
3.2.3 Modelo relacional ........................................................................47
3.2.4 Diagrama ER del almacén de datos..............................................47
3.2.5 Diseño físico del DW....................................................................48
3.2.6 Procedimientos de carga de datos.................................................48
3.3 Pruebas Almacén de Datos..........................................................................49
3.3.1 Diseño de las pruebas...................................................................49
3.3.2 Ejecución de las pruebas...............................................................49
4 Valoración económica................................................................................................50
5 de 54
PFC Bases de Datos UOC 6
5 Conclusiones...............................................................................................................50
Glosario...........................................................................................................................51
Bibliografía.....................................................................................................................52
Anexos............................................................................................................................53
6 de 54
PFC Bases de Datos UOC 7
Índice de ilustraciones
Ilustración 1: Ciclo en Cascada.........................................................................................9
Ilustración 2: Fases PMBOK............................................................................................9
Ilustración 3: EDT básico...............................................................................................12
Ilustración 4: EDT. Paquetes correspondientes al Plan de Trabajo...............................13
Ilustración 5: EDT. Paquetes del Análisis de Requisitos................................................13
Ilustración 6: EDT. Paquetes del Diseño........................................................................14
Ilustración 7: EDT. Paquetes de la instalación...............................................................14
Ilustración 8: EDT. Paquetes de la auditoría..................................................................14
Ilustración 9: EDT. Paquetes del sistema de pruebas.....................................................15
Ilustración 10: UML. Casos de uso: Altas......................................................................21
Ilustración 11: UML: Casos de uso: Modificaciones.....................................................22
Ilustración 12: Diagrama Modelo Lógico.......................................................................32
Ilustración 13: Diagrama Modelo ER.............................................................................34
Ilustración 14: Procedimientos inserción registros.........................................................36
Ilustración 15: Procedimiento de eliminación de registros.............................................37
Ilustración 16: Procedimiento modificación registros....................................................37
Ilustración 17: Procedimientos consulta 1......................................................................37
Ilustración 18: Procedimientos consulta 2......................................................................38
Ilustración 19: Procedimiento de consulta por valor de un campo.................................38
Ilustración 20: Captura de pantalla prueba insercion + consulta....................................40
Ilustración 21: Captura de pantalla de eliminación de registros.....................................41
Ilustración 22: Casos de uso DW....................................................................................43
Ilustración 23: Caso de uso "Consulta resolución ofertas".............................................44
Ilustración 24: Caso de uso "Consulta salarios ofertas".................................................44
lustración 25: Modelo Multidimensional DW................................................................46
Ilustración 26: Modelo Lógico DW................................................................................46
Ilustración 27: Diagrama modelo ER del DW................................................................47
Ilustración 28: DW. Procedimientos ETL......................................................................48
Ilustración 29: Tabla valoración económica...................................................................50
7 de 54
PFC Bases de Datos UOC 8
1 Introducción
1.1 Justificación
La finalidad de este proyecto es dotar a la Empresa de Selección de Personal (en adelante
ESP), de una base de datos que le permita, no sólo gestionar las ofertas y demandas de sus
clientes, sino también el estudio y mejora continua del negocio, mediante el análisis
estadístico de los datos. Este análisis estará basado en el Almacén de Datos (DW) que
también forma parte de este proyecto.
1.2 Objetivos
Como primera finalidad, este proyecto pretende ser la síntesis de los conocimientos
adquiridos durante los estudios de Ingeniería Informática, principalmente de la rama de las
Bases de Datos, Modelos Multidimensionales y Almacenes de Datos, y Gestión de
Proyectos.
8 de 54
PFC Bases de Datos UOC 9
9 de 54
PFC Bases de Datos UOC 10
1.4 Planificación
1.4.1 Estudio
Partiremos del análisis a fondo de los requerimientos del nuevo sistema,
partiendo de las necesidades básicas anotadas en el documento del enunciado, y
añadiendo las que consideremos necesarias, dado que a la vez asumiremos el
papel del cliente.
1.4.2 Alcance
En una primera aproximación básica a los requerimientos del sistema podemos
dividir el proyecto en dos sistemas claramente diferenciados. La BBDD y el
Almacén de Datos (DW).
10 de 54
PFC Bases de Datos UOC 11
Para cada producto emplearemos una subdivisión del trabajo siguiendo una
descomposición jerarquizada (EDT), tal y como estudiamos en la asignatura de
Metodología y Gestión de Proyectos Informáticos, que sigue las
recomendaciones del PMBOK, y así crearemos los siguientes paquetes:
▪ Análisis de requisitos
▪ Diseño
▪ Construcción o implementación
▪ Pruebas
11 de 54
PFC Bases de Datos UOC 12
1.4.3.1 EDT
Partiendo de las fases principales, ya comentadas en el apartado 1.4.2,
construimos la siguiente división inicial:
12 de 54
PFC Bases de Datos UOC 13
13 de 54
PFC Bases de Datos UOC 14
14 de 54
PFC Bases de Datos UOC 15
• Plan de trabajo
• Diseño de la BBDD
• Diseño del DW
• Memoria
• Presentación
15 de 54
1.4.3.2 Cronograma
PFC Bases de Datos UOC 17
• Identificación
• Seguimiento
• Respuesta
17 de 54
PFC Bases de Datos UOC 18
• Entorno de desarrollo:
18 de 54
PFC Bases de Datos UOC 19
• Sistema desarrollado
▪ Producto. Todos los ficheros conteniendo los scripts de creación de los diferentes
elementos de la BBDD y del DW. Tablas, usuarios, procedimientos, funciones,
etc...
19 de 54
PFC Bases de Datos UOC 20
• Una BBDD que dote de persistencia a toda la información de las empresas que
ofrecen puestos de trabajo, y de los trabajadores demandantes.
• El sistema almacenará:
20 de 54
PFC Bases de Datos UOC 21
21 de 54
PFC Bases de Datos UOC 22
22 de 54
PFC Bases de Datos UOC 23
23 de 54
PFC Bases de Datos UOC 24
24 de 54
PFC Bases de Datos UOC 25
25 de 54
PFC Bases de Datos UOC 26
26 de 54
PFC Bases de Datos UOC 27
27 de 54
PFC Bases de Datos UOC 28
28 de 54
PFC Bases de Datos UOC 29
29 de 54
PFC Bases de Datos UOC 30
30 de 54
PFC Bases de Datos UOC 31
31 de 54
PFC Bases de Datos UOC 32
Para finalizar esta etapa de diseño, realizaremos el diseño lógico para adaptar el modelo
ER a la tecnología que utilizaremos, y su transformación al modelo físico dependiente del
SGBD Oracle.
3 ER. Modelo que expresa las relaciones y propiedades de las entidades de un sistema de información.
32 de 54
PFC Bases de Datos UOC 33
33 de 54
PFC Bases de Datos UOC 34
PROVINCIA: nombre
PAIS: nombre
34 de 54
PFC Bases de Datos UOC 35
2.2.4 Modelo ER
35 de 54
PFC Bases de Datos UOC 36
Para la creación del esquema de la BBDD, sólo tendremos que ejecutar dicho
script, desde el gestor de la base de datos. En el mismo se encuentran las
sentencias de creación de las diferentes tablas, y sus restricciones
36 de 54
PFC Bases de Datos UOC 37
37 de 54
PFC Bases de Datos UOC 38
38 de 54
PFC Bases de Datos UOC 39
Donde la utilización del atributo %TYPE nos permite declarar variables según
el tipo del campo seleccionado.
39 de 54
PFC Bases de Datos UOC 40
40 de 54
PFC Bases de Datos UOC 41
41 de 54
PFC Bases de Datos UOC 42
42 de 54
PFC Bases de Datos UOC 43
• Posibilitar a los usuarios realizar una serie de consultas sobre las estadísticas de las
ofertas de trabajo:
Los requerimientos nos exigen consultas por empresa, ofertas, tipo de puesto y empleo
anterior. Así necesitaremos los siguientes elementos de análisis:
• OFERTA
43 de 54
PFC Bases de Datos UOC 44
• PUESTO
• TIPO_PUESTO
• EMPLEO
• EXPERIENCIA
• EMPRESA
• TRABAJADOR
44 de 54
PFC Bases de Datos UOC 45
POSTCONDICIÓN No hay
POSTCONDICIÓN No hay
45 de 54
PFC Bases de Datos UOC 46
ESTADÍSTICAS DE OFERTAS
▪ Información a analizar
• Empresa
• Puesto
• Experiencia
46 de 54
PFC Bases de Datos UOC 47
47 de 54
PFC Bases de Datos UOC 48
48 de 54
PFC Bases de Datos UOC 49
PROCEDIMIENTO DESCRIPCIÓN
Insertar en la tabla DIM_EXPERIENCIA los
registros INSERTADOS en la tabla
ETL_DIM_EXPERIENCIA
EXPERIENCIA desde la última carga de datos al
DW
Insertar en la tabla DIM_PUESTO los registros
ETL_DIM_PUESTO insertados en la tabla PUESTO desde la última
carga de datos al DW
Inserta en la tabla DIM_TIPO_PUESTO los
ETL_DIM_TIPO_PUESTO registros insertados en la tabla TIPO_PUESTO
desde la última carga de datos al DW
Inserta en la tabla DIM_EMPRESA los registros
ETL_DIM_EMPRESA de la tabla EMPRESA insertados desde la
última carga del DW
Inserta en la tabala HECHO_OFERTAS los
registros de las ofertas adjudicadas desde la
ETL_OFERTAS
última carga del DW. Calcula los campos
necesarios.
49 de 54
PFC Bases de Datos UOC 50
50 de 54
PFC Bases de Datos UOC 51
4 Valoración económica
Dado el carácter de este proyecto, y teniendo en cuenta que esta valoración la realizamos una vez
ejecutado el mismo, nos limitaremos a aplicar el cálculo de las horas dedicadas a su resolución,
en base a la planificación realizada.
Como ya comentamos en la planificación, las jornadas son de dos horas, y calcularemos en base a
un salario de 60,00€ por jornada (30€ / hora). Con los costes por tareas calculados en la
planificación, obtendremos:
Total jornadas 72
5 Conclusiones
Como primera conclusión reseñar que aún habiendo realizado una planificación bastante
detallada, no he podido cumplir con los plazos previstos en la mayoría de ocasiones.
Pero también debo decir que me siento muy satisfecho del conocimiento que gracias a este
trabajo he adquirido del SGBD Oracle, del lenguaje PL-SQL, y del software de desarrollo Oracle
SQL Developer . Al final el balance es más que satisfactorio.
En cuanto a los hitos previstos, me ha faltado acabar de desarrollar los casos de uso del DW, pero
están implementados todos los procedimientos de carga.
51 de 54
PFC Bases de Datos UOC 52
Glosario
Stored Procedure: Procedimientos almacenados en la base de datos, que son ejecutados por el motor
de la misma en respuesta a solicitudes de los usuarios. Su principal ventaja es ocultar la complejidad
de las consultas a la BBDD.
Data Warehouse: DW. Almacén de Datos. Colección de datos orientados por temas, integrados,
variables en el tiempo y no volátiles, que se utilizarán en la toma de decisiones.
EDT: Estructura de Descomposición del Trabajo. Descomposición jerárquica del trabajo planificado
en la gestión de proyectos.
SGBD: Sistema de Gestión de Bases de Datos. Software que sirve de interfaz entre las bases de datos
y los usuarios y aplicaciones que las utilizan.
Modelo ER: Herramienta para el modelado de datos que muestra las entidades relevantes de un
sistema de información y sus interrelaciones y propiedades.
ETL: Proceso que Extrae datos desde fuentes variadas, los Transforma si es necesario, y
posteriormente los carga (Load) en otro almacén de datos.
52 de 54
PFC Bases de Datos UOC 53
Bibliografía
Ramón Rodriguez, J. ; Mariné Jové, P. Planificació del projecte. UOC [en línea]
http://cvapp.uoc.edu/autors/MostraPDFMaterialAction.do?id=153525 [Fecha de consulta: marzo
2012]
Mariné Jové, P. ; Ramón Rodríguez, J. Seguiment i Control del Projecte. UOC [en línea]
http://cvapp.uoc.edu/autors/MostraPDFMaterialAction.do?id=153528 [Fecha consulta: marzo 2012]
Campderrich Falgueras, B. ; Recerca Informàtica S.L. Disseny orientat a objectes. UOC [en
línea] http://materials.cv.uoc.edu/cdocent/CS5D86Y929785FSOQ8XI.pdf [Fecha consulta: marzo
2012]
53 de 54
PFC Bases de Datos UOC 54
Anexos
• Scripts SQL: Todos los ficheros de creación de los diferentes elementos, tanto de la base de
datos como del almacén, se encuentran en la carpeta anexa \producto.
54 de 54