Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Integración de
Sistemas
Equipos y Materiales:
● Una computadora con:
● Windows 7 o superior
● Conexión a la internet
Procedimiento:
Lab Setup
Tecsup desea implementar un sistema que permita llevar un control de los cursos que se ofertan al público
en general por el área de capacitación continua (PCC). A continuación se resumen los requerimientos
identificados por el personal del área interesada:
1. Se debe tener un registro de los diferentes departamentos que se tienen en Tecsup así como a cada uno
de los programas que integran dichos departamentos.
2. Es necesario identificar a los jefes de departamento, asi como a los planners de cada programa para
poder coordinar con ellos los temas relacionados a los cursos a ofertar
3. Tener un registro de los docentes tanto a tiempo completo como a tiempo parcial, que serán los
encargados de dictar los cursos de capacitación continua
4. Tener un registro de cada persona que se inscribe en los cursos de capacitación continua
5. Tener un registro de cada matricula que se realice en los cursos de capacitación continua
6. De los Departamentos es necesario registrar: nombre, jefe de departamento, programas que lo integran.
7. De cada Jefe de Departamento es necesario registrar: nombre, apellidos, anexo y celular
8. De cada Programa es necesario registrar: nombre, abreviatura, planer
9. De cada Planer es necesario registrar: nombres, apellidos, anexo y celular
10. De cada Docente es necesario registrar: nombres, apellidos, celular, estado, tipo (TP/TC Tiempo
Completo/Tiempo Parcial), departamento al que pertenece
11. De cada Curso programado es necesario registrar: nombre, abreviatura, duración (hrs), capacidad, nro
de inscritos, costo, aula para teoría, aula para laboratorio, fecha de inicio, fecha de fin, docente a cargo,
programa al que pertenece el curso, resultado de encuesta del curso, resultado de encuesta del docente,
resultado de encuesta del material entregado al alumno, estado actual del curso.
12. De cada Persona que se inscribe en un curso es necesario registrar: nombres, apellidos, DNI, dirección,
teléfono fijo, celular, sexo, fecha de nacimiento, email y estado
13. De cada Matricula es necesario registrar: Fecha de matrícula, Nro de documento del comprobante
entregado por Tecsup, monto de pago, curso al que se ha matriculado, Persona que se ha matriculado.
Al finalizar el curso, deberá consignarse el porcentaje de asistencias del participante, la nota final que
obtuvo en el curso y el estado actual del registro de matrícula. (algunas veces un participante decide
anular la matricula)
5.4. Implementar una sentencia que permita obtener la siguiente información sobre
Departamentos:
Nombre Nombre de Jefe de Nombre de Programas que lo integran
Departamento Departamento
Mecánica Juan - Mantenimiento de Maquinaria de Planta
- Mantenimiento de Maquinaria Pesada
Electrotecnia Henry - Electrotecnia Industrial
- Electrotecnia y Automatización Industrial
- Instalaciones Electrotécnicas
Informática Alfredo - Redes y Comunicaciones de Datos
- Diseño y Desarrollo de Software
> db.Departamentos.find({},{_id:0,nombre:1,"jefe.nombre":1,"programas.nombre":1})
5.5. Implementar una sentencia que permita obtener la siguiente información sobre
Departamentos:
Nombre Nombre de Jefe de Nombre de Nombre del
Departamento Departamento Programas que lo Planer de cada
integran Programa
Mecánica Juan - Mantenimiento de Nilton
Maquinaria de Planta Dario
- Mantenimiento de
Maquinaria Pesada
Electrotecnia Henry -Electrotecnia Midward
Industrial
-Electrotecnia y
>db.Departamentos.find({},{_id:0,nombre:1,"jefe.nombre":1,"programas.nombre":1,"program
as.planer.nombre":1})
5.8. Implementar una sentencia que permita adicionar una nueva matricula (de una persona
existente):
5.9. Implementar una sentencia que permita adicionar una nueva matricula (de una persona nueva, que no
existe en la colección Personas):
> db.Matriculas.insert(
{ _id: 6,
_id_curso: 3,
_id_persona: 5,
fecha_mat: '2016-03-23',
nro_doc: '001-1006',
monto: 600,
asistencias: 0,
nota_final: 0,
estado: 'A
'
},
)
Tecsup desea implementar un sistema que permita llevar un control de las reservas de ambientes que realiza
el personal de la institución, para ello es necesario tener en cuenta lo siguiente:
1. Se debe tener un registro de los diferentes departamentos que se tienen en Tecsup así como a cada uno
de los programas que integran dichos departamentos.
2. Tener un registro del personal de la institución que son quienes solicitaran reservar un ambiente
3. Tener un registro de los ambientes que se tienen en Tecsup, considerando que cada ambiente
puede ser Aula, Laboratorio o Taller
4. Tener un registro de cada reserva que se realice.
5. De los Departamentos es necesario registrar: nombre, programas que lo integran.
6. De los Ambientes es necesario registrar: nombre, tipo (Teoría, Laboratorio, Taller), capacidad,
departamento al que pertenece.
7. De cada Persona es necesario registrar: nombres, apellidos, departamento al que pertenece, cargo, DNI,
dirección, teléfono fijo, celular, sexo, fecha de nacimiento, email y estado
8. De cada Reserva es necesario registrar: fecha de la reserva, ambiente, hora de inicio, hora de fin,
persona que hace la reserva, una descripción para conocer para que se hizo la reserva, estado final de la
reserva (Pendiente, cancelada, otras …)
Actividades a realizar:
Modelado entidad-relación:
Script:
// Agregar
Departamentos const
departamentos = [
{
_id: 1,
nombre: "Departamento de Ingeniería de Software",
programas: [
{ nombre: "Ingeniería de Software" },
{ nombre: "Desarrollo Web" },
],
},
{
_id: 2,
nombre: "Departamento de Electrónica",
programas: [
{ _id: 1, nombre: "Ingeniería Electrónica" },
{ _id: 2, nombre: "Automatización Industrial" },
],
},
];
db.Departamentos.insertMany(departamentos);
// Agregar
Personas const
personas = [
{
_id: 1,
nombres: "Juan",
apellidos:
"Pérez",
_id_departamento:
1, cargo: "Profesor",
dni: "12345678",
direccion: "Av. Principal 123",
telefono_fijo: "01 2345678",
celular: "987654321",
sexo: "M",
fecha_nacimiento: "1980-01-15",
email: "juan.perez@example.com",
estado: "A",
},
{
nombres: "Ana",
apellidos:
"Gómez",
_id_departamento: 2,
cargo: "Estudiante",
dni: "98765432",
direccion: "Calle Secundaria 456",
telefono_fijo: "01 9876543",
celular: "987654321",
sexo: "F",
fecha_nacimiento: "1995-03-20",
email: "ana.gomez@example.com",
estado: "A",
},
];
db.Personal.insertMany(personas);
// Agregar
Reservas const
Guía de Laboratorio No Pág.
Bases de Datos Avanzadas
reservas = [
{
fecha_reserva: "2023-09-20",
db.departamentos.deleteOne({"_id": 1})
Conclusiones:
Indicar las conclusiones que llegó después de los temas tratados de manera práctica en este laboratorio.
● Gracias al uso de scripts ahora se pueden gestionar y usar la base de datos en MongoDB de una
manera más fácil y cómoda y bastante útil para cuando se quiere usar para ingresar colecciones y
documentos.
● El modelo entidad relación me ayudó a cómo desarrollar mi base de datos y cómo voy a ingresar
los documentos a esta misma.
● Esta práctica de laboratorio me ayudará en el futuro a diseñar modelos de base de datos más
eficientes y completos, utilizar MongoDB para almacenar y manipular datos de forma eficiente e
implementar relaciones entre entidades de forma correcta.
● El diseño de un modelo de datos debe tener en cuenta las necesidades de los usuarios. En este caso,
el modelo de datos se diseñó teniendo en cuenta las necesidades de los usuarios del sistema de
reservas, como el personal de Tecsup y los estudiantes.
● Las instrucciones en MongoDB son potentes y eficientes. Esto permite manipular los datos de la
base de datos de forma rápida y sencilla.