Está en la página 1de 13

Universidad de El Salvador Nota:

Facultad de Ingeniería y Arquitectura


Escuela de Ingeniería de Sistemas
Informáticos
Ciclo: I/2021

Catedra: Base de Datos (BAD115)


Catedrático: Ing. Arnoldo Inocencio Rivas

Grupo No. 13
Proyecto: Sistema de Bolsa de Trabajo en línea (ETAPAII)

Integrantes:

Apellido Nombre Carnet


Lobos Rodas Waldo Antonio LR03012
Magaña Vasquez Ángel Aroldo MV02001
Osorio Guandique Jose Antonio OG99016

San Salvador, Ciudad Universitaria, 11 de junio de 2021


ÍNDICE

ÍNDICE ...................................................................................................................................................................... 2

OBJETIVOS ............................................................................................................................................................. 3

General: ................................................................................................................................................................ 3
Específicos: .......................................................................................................................................................... 3
DIAGRAMA CONCEPTUAL DE BASE DE DATOS .......................................................................................... 4

DIAGRAMA FISICO DE BASE DE DATOS ........................................................................................................ 5

DATOS DE PRUEBA.............................................................................................................................................. 6

LISTADO DE PROCESOS .................................................................................................................................... 7

GUIA DE CREACION Y RESTAURACION DE RESPALDOS ....................................................................... 9

CONCLUSIONES.................................................................................................................................................. 13

2
OBJETIVOS

General:

✓ Implementar un sistema en la nube para la gestion de una Bolsa de Trabajo que permita ofertar aplicar y
gestionar propuestas de Empleo asi como el proceso de seleccion mediante pruebas psicometricas

Específicos:

✓ Analizar los requerimientos y procedimientos del negocio mediante historias de usuarios y diagramas de
casos de uso para establecer un modelo que permita la correcta implementación del sistema informático.

✓ Construir un modelo de base de datos capaz de la gestión de una Bolsa de Trabajo en línea.

✓ Desarrollar una aplicacion para la gestion de una Bolsa de trabajo implementando el modelo de base de
datos disi;ado durante el curso.

✓ Implementar las historias de usuario y casos de uso del primer release haciendo uso de un framework y
un gestor de base de datos.

3
DIAGRAMA CONCEPTUAL DE BASE DE DATOS

4
DIAGRAMA FISICO DE BASE DE DATOS

5
DATOS DE PRUEBA
Secuencia de inserts para los curriculums
INSERT INTO public.bt_curriculum (id_curriculum, id_curriculum_estado, nombres, apellidos, genero,
fecha_nacimiento, dui_pasaporte, nit, nup, direccion, correo_electronico, fecha_creacion) VALUES (2, 1, 'Maria',
'Pleitez', 'F ', '1989-03-01', '041010706', '0617010319891104', '123', 'Calle principal', 'maria@usuario.com',
'10:37:08.940281+00');
INSERT INTO public.bt_curriculum_x_lenguaje (id_curriculum_x_lenguaje, escritura, lectura, conversacion,
escucha, id_lenguaje, id_curriculum, fecha_creacion) VALUES (1, 'M ', 'M ', 'M ', 'M ', 1, 2, '2021-06-11
16:42:56.157455+00');
INSERT INTO public.bt_curriculum_x_lenguaje (id_curriculum_x_lenguaje, escritura, lectura, conversacion,
escucha, id_lenguaje, id_curriculum, fecha_creacion) VALUES (2, '1 ', '2 ', '3 ', '4 ', 2, 2, '2021-06-11
16:43:20.12894+00');
INSERT INTO public.bt_experiencia_laboral (id_experiencia_laboral, compania, funciones, nombre_contrato,
posicion_contrato, telefono_contacto, telefono_contacto2, fecha_inicio, fecha_fin, id_persona, fecha_creacion)
VALUES (1, 'De El Salvador', 'Ver TV
Leer Blogs
Revisar noticias', 'Matias Nazario', 'Supervisor', '2257-7777', '2250-8989', '2010-06-01', '2010-12-01', 2,
'14:21:10.767294+00');
INSERT INTO public.bt_publicacion (id_publicacion, publicacion, lugar_publicacion, fecha_publicacion,
es_libro_edicion, isbn, id_persona, fecha_persona) VALUES (1, 'Codigo como infraestructura', 'Localmente',
'2021-06-11', 'No', '--', 2, '2021-06-11 22:06:20.113621+00');
-- Secuencia de inserts para usuarios admins.
INSERT INTO public.bt_usuario (id_usuario, nombres, apellidos, id_rol, password, correo_electronico,
id_estado_usuario, fecha_creacion) VALUES (2, 'Pepe', 'Lepiug', 2,
'b221d9dbb083a7f33428d7c2a3c3198ae925614d70210e28716ccaa7cd4ddb79
', 'pepe@admin.com', 2, '2021-06-04 08:29:38.425534+00');
-- Secuencia de insertes para las empresas
INSERT INTO public.bt_empresa (id_empresa, empresa, razon_social, direccion, telefono_1, codigo_empresa,
giro, fecha_creacion) VALUES (1, 'Dulces', 'Dulceria Uno', 'Cerca', '79451212', 'EMP-001', 'Ventas', '2021-06-10
10:37:08.940281+00');
INSERT INTO public.bt_empresa_usuario (id_empresa_usuario, nombres, apellidos, id_empresa_rol, password,
correo_electronico, id_estado_empresa_usuario, id_empresa, fecha_creacion) VALUES (1, 'Pipo', 'Canavaro', 1,
'asdadasdasd', 'pipo@empresa1.com', 1, 1, '2021-06-10 11:40:19.732354+00');
INSERT INTO public.bt_empresa_usuario (id_empresa_usuario, nombres, apellidos, id_empresa_rol, password,
correo_electronico, id_estado_empresa_usuario, id_empresa, fecha_creacion) VALUES (2, 'Elsy', 'Quintanilla', 2,
'zzzzzzzz', 'elzy@empresa1.com', 1, 1, '2021-06-10 11:53:53.298185+00');

6
LISTADO DE PROCESOS

/*==============================================================*/
/* TRIGGERS PARA CURRICULUM ELIMINADOS */
/*==============================================================*/

CREATE OR REPLACE FUNCTION log_curriculum_eliminado()


RETURNS TRIGGER
LANGUAGE PLPGSQL
AS
$$
BEGIN
INSERT INTO
audit_persona(id_curriculum,NOMBRES,APELLIDOS,GENERO,FECHA_NACIMIENTO,DUI_PASAPORTE,NIT,
NUP,DIRECCION,CORREO_ELECTRONICO)
VALUES(
(OLD.id_curriculum,NOMBRES,OLD.APELLIDOS,OLD.GENERO,OLD.FECHA_NACIMIENTO,OLD.DUI_PASAP
ORTE,OLD.NIT,OLD.NUP,OLD.DIRECCION,OLD.CORREO_ELECTRONICO) );
RETURN NEW;
END;
$$

CREATE TRIGGER log_curriculum_eliminado


BEFORE DELETE
ON BT_CURRICULUM
FOR EACH ROW
EXECUTE PROCEDURE log_curriculum_eliminado();

/*==============================================================*/
/* TRIGGERS PARA CUANDO LA PERSONA SE DA DE BAJA */
/*==============================================================*/

CREATE TRIGGER update_persona_anulada


BEFORE UPDATE
ON BT_CURRICULUM
IF NEW.id_curriculum_estado = 2 THEN
UPDATE bt_curriculum_participacion SET id_estado_participacion = 6 WHERE
bt_curriculum_participacion.id_curriculum = OLD.id_curriculum
END IF;

IF NEW.id_estado_persona = 3 THEN
UPDATE bt_curriculum_participacion SET id_estado_participacion = 6 WHERE
bt_curriculum_participacion.id_curriculum = OLD.id_curriculum
END IF;

IF NEW.id_estado_persona = 5 THEN
UPDATE bt_curriculum_participacion SET id_estado_participacion = 6 WHERE
bt_curriculum_participacion.id_curriculum = OLD.id_curriculum
END IF;

/*==============================================================*/

7
/* TRIGGERS PARA REGISTRAR LOS USUARIOS BLOQUEADOS */
/*==============================================================*/

CREATE OR REPLACE FUNCTION log_usuarios_bloqueados()


RETURNS TRIGGER
LANGUAGE PLPGSQL
AS
$$
BEGIN
INSERT INTO AUDIT_USUARIOS_BLOQUEADOS(ID_USUARIO ,USUARIO)
VALUES(( OLD.ID_USUARIO , OLD.CORREO_ELECTRONICO ));
RETURN NEW;
END;
$$

CREATE TRIGGER log_usuarios_bloqueados


BEFORE UPDATE
ON BT_USUARIO
IF NEW.id_estado_persona = 2 THEN
EXECUTE PROCEDURE log_usuarios_bloqueados();
END IF;

8
GUIA DE CREACION Y RESTAURACION DE RESPALDOS
Respaldo manual desde pgadmin.
Login en pgadmin

Creacón de backup desde opciones de servidor.

Se configuran los parámetros del respaldo.

9
Verificación del job de respaldo

Buscamos el archivo en la carpeta del servidor donde está el pgadmin usando el “storage manager”
que ya tiene dicha plataforma.

10
Luego seleccionamos el archivo a descargar y lo guardamos en nuestra PC local.

Restauración manual desde pgadmin.


Creamos la base de datos en una nueva instancia.

Procedemos a subir el archivo de la base de datos.

Si no se cuenta con el respaldo en store manager del pgadmin, se debe proceder a subir al servidor.
Al momento de subirlo debe aparecer en la carpeta del servidor, y seleccionarse para su restauración.

11
Se debe ver de la siguienta forma.

En la parte inferior de la pantalla podemos ver el avance - status de la restauración de la base de datos.

Para ver más detalles, pueden hacer click en “mored details” y este mostrará un detalle muy parecido al
siguiente:

Para la verificación del estado de la base de datos, se puede seleccionar la parte de Dashboard en la parte
superior y revisar datos como sesiones, transacciones por segundo, tuplas y las entradas y salidas a nivel de
disco.

Como se puede ver en la imagen anterior, también se tiene un detalle de las sesiones en el servidor de base de
datos, y podemos ver que la aplicación “pgAdmin 4” está originando la única sesión a la base de datos
test_restauracion.

12
CONCLUSIONES

Publicar una aplicacion en la nube permite reducir los tiempos en los ciclos de produccion de nuevas
caracteristicas, el mantenimiento total asi como escalabilidad y seguridad pueden ser manejados de forma
integra en este tipo de servicios
Se cumplieron los requerimientos y las reglas del negocio que este sistema demandaba, para ello se aplicaron
todos los conocimientos que se tenían y conocimientos adquiridos en la cátedra para la realización de la base de
datos y los procesos sobre esta.

Con este proyecto se logrará una mejor gestión de una Bolsa de Trabajo facilitando la selección de un candidato
con el perfil adecuado, así como facilitando la creación de perfiles para el candidato y que pueda ser encontrado.

Debido a que, cada vez hay más demanda de trabajo y de buenos candidatos que puedan encontrar el trabajo
idóneo y el perfil deseado que cumpla con los requerimientos que solicitan las empresas, en la era de la información
tener un perfil en línea es de carácter obligatorio para poder encadenar con las empresas y estas con sus
candidatos.

URL de la Aplicación.

http://35.83.252.64/login

13

También podría gustarte