Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COURSE PROJECT
Informe de Trabajo Final
PIVYTeam Members
Amarillo Alejos, Nicolle Francesca U202119197
Ciclo 2022- 02
www.companywebsite.com
2
Registro de Versiones:
1.5 27/08/2022 Grupo Como en el caso anterior, esta edición afina los detalles de la
4 startup y su solution profile, gracias al registro de los
antecedentes y la técnica de las 5W y 2H.
2.0 30/08/2022 Grupo Un paso más allá, tenemos la segunda edición del trabajo
4 grupal, contiene el desarrollo del Lean UX Process y definición
del segmento objetivo.
3.0 23/09/2022 Grupo Para el presente entregable se empiezan a formar los primeros
4 elementos dentro de la próxima base de datos del trabajo grupal
y trae consigo el uso de Entities, Attributes y Logical Data Model.
4.5 24/11/2022 Grupo Se realizaron las queries de base de datos SQL y NoSQL,
4 validaciones, procedures, agregattes, video about the team y
anexos.
www.companywebsite.com
3
CONTENTS
Student outcome ................................................................................................................................................... 4
Introducción .......................................................................................................................................................... 6
1.1. Startup Profile ...................................................................................................................................................... 6
Nombre del Startup: PIVY .................................................................................................................................................. 6
1.1.1. Descripción de la Startup ................................................................................................................................................... 6
1.1.2. Perfiles de integrantes del equipo .................................................................................................................................... 7
Conclusiones....................................................................................................................................................... 81
Vídeo about-the-team ......................................................................................................................................... 83
Bibliografía .......................................................................................................................................................... 83
Anexos ................................................................................................................................................................ 86
www.companywebsite.com
4
STUDENT OUTCOME
Ingeniería de Software e Ingeniería de Sistemas (ABET-EAC-Student Outcome 7)
Demuestra la capacidad de adquirir y aplicar nuevos conocimientos según sea necesario, utilizando
estrategias de aprendizaje apropiadas.
www.companywebsite.com
5
TB2:
-Diseño y registro de entrevistas
TP:
-Entities
TB3:
-Physical Data Model
TF1:
Queries NoSQL
Inserción de datos SQL
Nicolas Fernando Contreras Castellano
TB3:
-Physical Data Model
www.companywebsite.com
6
CAPÍTULO
INTRODUCCIÓN
1.1. Startup Profile
Nombre del Startup: PIVY
1
• Nombre del proyecto: PIVY
LOGOTIPO:
FUENTE DE INGRESOS:
• MISIÓN:
Incentivar el aprendizaje autónomo y continuo de los estudiantes dentro de nuestro
sector objetivo y apoyar el esfuerzo de estudiantes con bajos recursos gracias a las
ganancias que obtendrán por sus buenas calificaciones.
• VISIÓN:
Erradicar en un 75% las estadísticas de personas sin estudios técnicos o superiores
en el Perú por los principales motivos constantes como falta de recursos y el bajo nivel
pedagógico.
www.companywebsite.com
8
www.companywebsite.com
9
En particular, esta aplicación está dirigida a los estudiantes universitarios, que por
escasos o limitados recursos económicos no pueden obtener materiales y fondos para
la investigación, y que gracias a esta aplicación enriquecen los materiales didácticos
para sus clases, podrán obtener a ellos. De esta manera, los estudiantes mejorarán en
gran medida su rendimiento académico y serán recompensados por su alto rendimiento.
www.companywebsite.com
11
✓ Problem Statement 1
¿Cómo lograr incentivar la motivación en los estudiantes universitarios para que puedan
fomentar el autoestudio y llegar a ser profesionales competitivos?
✓ Problem Statement 2
✓ Problem Statement 3
Como efectos de la globalización, los jóvenes requieren del término de estudios superiores
para la correcta inserción dentro del mercado laboral. De igual forma, las habilidades
www.companywebsite.com
12
La universidad, como espacio público y social, es un entorno latente de desafíos que, muchas
veces, no solo es ocasionado por factores externos involuntarios, sino también por los propios
jóvenes universitarios. El más resaltante es el abandono de estudios. Las tasas de este
problema continúan en aumento, en lugar de despreciarse, lo que se traduce en una incorrecta
orientación pedagógica o en una escasa vocación profesional.
¿Cómo reducir la deserción estudiantil en las universidades para que los estudiantes disfruten
del sistema de educación?
✓ Problem Statement 4
Dentro de este contexto, se valora como escasa la integración de los jóvenes universitarios
provenientes de sectores económicos vulnerables.
¿Cómo conseguir que las universidades constituyan diferentes formas de financiamiento para
los estudiantes y, así, estos continúen con su formación competitiva?
Preguntas
1. ¿Quién es el usuario?
a. Cuando el estudiante tiene que elegir entre ocupar su tiempo en sus estudios o
trabajar para cubrir sus necesidades.
www.companywebsite.com
13
c. Cuando las personas quieran tener una mejor experiencia comprando ropa a
precios cómodos.
ENUNCIADOS
a. Una app que aporta eficiencia, rapidez y seguridad al acceder a las evaluaciones.
www.companywebsite.com
14
a. Una app con una interfaz sencilla y facilidad de navegación en la app, encontrando
las mejores metodologías de estudios.
b. Agilidad y rendimiento de app, para poder navegar y encontrar miles de galerías con
evaluaciones y premiadas.
c. Contenido optimizado, que le permita al usuario centrarse en aquello que realmente
le pueda interesar.
www.companywebsite.com
15
a. Que sea de poco interés e innovador o que influya una baja motivación con el uso
de nuestra app a largo plazo.
12. ¿Qué otras suposiciones tenemos? ¿Eso, si se prueba que es falso, causará que nuestro
negocio/ proyecto no funcione?
✓ Hipótesis 1
✓ Hipótesis 2
✓ Hipótesis 3
www.companywebsite.com
16
✓ Hipótesis 4
Creemos que al idear un método diferente y más dinámico para manejar pruebas,
evaluaciones o trabajos académicos, la tasa de interés de los estudiantes
universitarios aumentará.
Sabremos que lo hemos logrado.
Cuando se observó un aumento en el rendimiento académico de cada estudiante
universitario, ya sea durante el análisis del perfil de desempeño individual o durante el
seguimiento.
www.companywebsite.com
17
www.companywebsite.com
18
Variable geográfica:
• País: Perú.
• Ciudad: Lima Metropolitana.
Variable demográfica:
• Género: Femenino / Masculino.
• Edad y etapa de ciclo de vida:
o Ciudadanos de 18 a 25 años.
• Ocupación: Universitarios
www.companywebsite.com
19
Variable psicográfica:
• Nivel Socioeconómico (NSE): C, D o E
• Características de personalidad:
o Valiente
o Perseverante
CAPÍTULO
2.1. Competidores
2
Existen diversas apps en el mercado parecidas a nuestro producto, entre algunos
podemos mencionar:
www.companywebsite.com
20
www.companywebsite.com
21
Amenazas Demasiada Portal web con poca Pago remunerado de Mal manejo en el
competencia. información, trae manera sector de estrategias
desconfianza al desproporcionada. competitivas.
contratista. Mercado pequeño y
Puede ser fácil de expuesto a
reemplazar competencias con
mayor alcance
• Aplicaremos la técnica de las 3B’s, al brindar distintos planes para nuestros clientes,
desde el más económico hasta el VIP, y mejorar el acceso para su conjunto estudiantil
mediante una plataforma amigable y segura.
www.companywebsite.com
22
2.2. Entrevistas
En esta parte del informe se comenzará con la investigación de los segmentos objetivos
y se realizarán entrevistas para recopilar los datos y crear nuestro Needfinding.
Preguntas Demográficas:
• ¿Cuál es su nombre?
• ¿Cuál es su edad?
• ¿Cuál es su ocupación profesional?
• ¿Se encuentra laborando en la actualidad?
Preguntas Emocionales:
Segmento 1: Universitarios
Entrevistado N° 1:
Entrevistado N° 2:
www.companywebsite.com
24
Entrevistado N° 3:
www.companywebsite.com
25
Segmento 2: Profesores
Entrevistado N° 1:
• Nombre y Apellido: Leonardo Ivan Amarillo Raqui
• Edad: 58
• Evidencia de la reunión:
Entrevistado N° 2:
• Nombre y Apellido: Jose del Carmen Santa Maria Aldoradin
• Edad: 34
• Evidencia de la reunión:
www.companywebsite.com
26
Segmento 1: Universitarios
Segmento 2: Profesores
Con respecto a las entrevistas realizadas a los docentes universitarios, podemos
concluir que el 100% está de acuerdo con que hay alumnos desmotivados con su vida
universitaria. Además, algunos factores que ellos identifican son económicos, falta de
apoyo, temas complejos y desinterés en leer el material ofrecido. Por otra parte, el 100%
de los docentes universitarios está de acuerdo con que recompensar el esfuerzo de los
estudiantes por sus buenos resultados académicos podría ser una buena práctica para
motivarlos a mantener a seguir con éxitos sus estudios e incentivar a más a seguir este
www.companywebsite.com
27
www.companywebsite.com
28
Frequency Importance
www.companywebsite.com
29
Frequency Importance
Segmento 1: Estudiantes
www.companywebsite.com
30
Segmento 2: Docentes
www.companywebsite.com
31
www.companywebsite.com
32
www.companywebsite.com
33
CAPÍTULO
De esta manera, con respecto a nuestra Startup hemos considerado las siguientes Entities que
formarán parte de la base de datos de nuestra Startup.
Usuario
Breve descripción:
En esta entidad el usuario podrá crear una cuenta el cual tendrá un ID y una contraseña para poder
acceder a su cuenta.
Universitarios
Breve descripción:
Hemos definido a la entidad universitarios, porque serán nuestros principales clientes para nuestra
aplicación, por ello es primordial definirlos.
Profesor
Breve descripción:
La entidad profesor será la parte donde dictan sus clases a los universitarios que accedan a nuestra
aplicación.
Detalle Universitario
Breve descripción:
En esta entidad se guardarán la información académica de los universitarios, además de información
académica durante su estadía en la app.
www.companywebsite.com
34
Salón
Breve descripción:
En esta entidad se guardará la información y atributos del salón de clases que le toque cursar al
universitario al comenzar a usar la app.
Facultad
Breve descripción:
En esta entidad se guarda la faculta a la que pertenece el universitario y también el nombre de su
universidad donde cursa sus estudios superiores
Curso
Breve descripción:
En esta entidad se acreditará los cursos que llevará el universitario para poder reforzar los temas que
está llevando en su universidad, además contará con las horas que le dedique a la app .
Recompensa Obtenida
Breve descripción:
Esta entidad se tomará las recompensas que se le dará a los universitarios por sus logros obtenidos
al terminar un curso, además que contará puntos adicionales para sus exámenes.
Universidad
Breve descripción:
www.companywebsite.com
35
Esta entidad será la casa de estudio de cada universitario, en el cual se está formando tanto
profesional como académicamente, además que guardará información específica de cada
universidad.
Canjeo puntos
Breve descripción:
Esta entidad tendrá como misión de guardar y canjear los puntos que obtenga el universitario en
empresas que tengan convenio con nuestra app para que pueda canjear por algún producto en
específico que ofrezca la empresa.
Ciudad
Breve descripción:
Esta entidad tendrá relación con la entidad universitaria, ya que mantendrá la información personal de
cada universitario, tales como el país al que pertenezca o el nombre de su ciudad.
Empresa
Breve descripción:
Esta entidad guarda relación con la entidad canjeo de puntos, ya que almacenará información
necesaria cuando el universitario decida canjear sus puntos por algún producto.
3.2. Attributes
Los attributes son las características o rasgos de un tipo de entidad que describe la entidad. Por
ello, los valores de los atributos describen los miembros de la entidad.
Usuario
www.companywebsite.com
36
Universitario
Profesor
Detalle universitario
Salón
www.companywebsite.com
37
Facultad
Curso
Recompensa Obtenida
Universidad
www.companywebsite.com
38
Ciudad
Canjeo Puntos
Empresa
www.companywebsite.com
39
www.companywebsite.com
40
www.companywebsite.com
41
www.companywebsite.com
42
www.companywebsite.com
43
www.companywebsite.com
44
3.4. Collections
El esquema flexible de las bases de datos de tipo no relacional permite a los desarrolladores aplicar de
forma oportuna la desnormalización. Este proceso consiste en añadir información redundante con el
propósito de mejorar la capacidad de lectura de la base de datos. No obstante, la desnormalización
genera que las operaciones de escritura se vuelvan más complejas.
Con esto dicho, es crucial para el performance de nuestra base de datos no relacional que elijamos de
forma asertiva las colecciones y la información almacenada dentro de las colecciones. Para ello, hemos
visto conveniente agrupar las tablas de nuestra base de datos relacional según dominios, con el
propósito de convertir nuestras tablas de forma eficiente en colecciones con toda la información
relevante estando almacenada.
www.companywebsite.com
45
• Salón
Campos:
• UserName: Equivale al UserName de la entidad Usuario
• Clave_Acceso: Equivale a la clave de acceso en la entidad usuario.
• Nombres, apellidos, teléfono y correo: Provienen de la entidad Usuario
• Universidad_ID: Hace referencia a la universidad a la que pertenece el profesor.
• Salones de clase: Un arreglo que contiene el código de todos los salones de clase en los que
dicta el profesor.
Collection universitarios:
Para la creación de la collection Universitarios con las tablas que teníamos del modelo relacional
decidimos colocar los atributos de las entidades Usuario, Detalle Universitario, Facultad y Universidad
como campos del documento que puede ir dentro de nuestra colección Universitarios: El motivo de esto
es que los documentos van a contener información personal del universitario como usuario, clave,
nombres, apellido, teléfono y correo que nos serán útiles puesto que es un usuario. Además la
información de la universidad asociada y los salones de clase será útil para saber a sus notas,
promedio, puntos y a que facultad pertenece.
www.companywebsite.com
46
Campos:
• UserName: Equivale al UserName de la entidad Usuario.
• Clave_Acceso: Equivale a la clave de acceso de la entidad usuario.
• Nombres, apellidos, teléfono y correo: Provienen de la entidad Usuario.
• Facultad_ID: Hace referencia a la facultad que pertenece al Universitario.
• Universidad_ID: Hace referencia a la universidad a la que pertenece el universitario.
• Promedio_Ponderado: Equivalente al Promedio_Ponderado de la entidad DetalleUniversitario.
• Total_Puntos: Equivalente al Total_Puntos de la entidad DetalleUniversitario.
www.companywebsite.com
47
Campos:
• Codigo_Clase: Sirve para identificar el código de la clase. En el modelo relacional está en la
tabla “curso”.
• Nombre_Profesor: Almacena el nombre del profesor, que en el modelo relacional se ubica en
la tabla “usuario” y cuya información está vinculada con la tabla “profesor”. De la tabla
profesor solamente se colocó este atributo debido a que es el único que requiere la aplicación
a la hora de mostrar una clase.
• Horas_Dictadas: Se registran las horas dictadas, información que pertenece a la tabla
“Curso”.
• Total_Creditos: Se registra el total de créditos, que en se ubica en la tabla “Curso”.
• Facultad_Id: Hace referencia a la facultad a la que pertenece el curso.
www.companywebsite.com
48
Campos:
• Nombre_Facultad: Equivalente al Nombre_Facultad de la entidad Facultad.
• Nombre_Universidad: Equivalente al Nombre_Universidad de la entidad Universidad.
Collection universidades:
Para la creación de la colección Universidades con la tablas que teníamos del modelo relacional
decidimos guiarnos de colocar los atributos de las entidades Facultad y Ciudad. Consideramos estos
atributos como nombre, facultades y ciudad. La colección Universidad se relaciona con la colección
universitarios y profesores.
Campos:
• Nombre_Universidad: Equivalente al Nombre_Universidad de la entidad Universidad.
• Facultades: Hace referencia a la información de las facultades que pertenecen a la
universidad.
• Ciudad_ID: Hace referencia a la ciudad a la que pertenece la universidad.
www.companywebsite.com
49
Collection recompensas:
Para la creación de la colección Recompensas decidimos utilizar atributos de las Entidades
Recompensa_Obtenida, Curso y Universitario como campos de los documentos que irán en nuestra
colección Recompensas. Consideramos campos como Fecha Recompensa, Puntos, Estudiante y
Clase.
Campos:
• FechaRecompensa: Equivalente a Fecha_Recompensa de la entidad Recompensa_Obtenida.
• Puntos: Equivalente a Cant_Puntos de la entidad Recompensa_Obtenida.
• Estudiante: Hace referencia a los Universitarios que obtienen la recompensa.
• Clase: Hace referencia al curso en el que se dio la recompensa.
Collection empresas:
Para la creación de la colección Empresas decidimos utilizar atributos de las Entidades Empresa y
Ciudad como campos de los documentos que irán en nuestra colección Empresas. Consideramos
campos como Nombre_Empresa, Ciudad_ID y RUC.
Campos:
• Nombre_Empresa: Equivalente al Nombre_Empresa de la entidad Empresa.
• Ciudad_ID: Hace referencia a la ciudad en la que se ubica la empresa.
• RUC: Equivalente al Ruc de la entidad Empresa.
Collection canjeo_puntos:
Para la creación de la colección canjeo_puntos decidimos utilizar atributos de las Entidades
Universitario, Canjeo_Puntos y Empresa como campos de los documentos que irán en nuestra
colección canjeo_puntos. Consideramos campos como estudiante, empresa, Fecha Canjeo y
Total_Canjeado. Con la finalidad de tener un registro de los puntos canjeados.
www.companywebsite.com
50
Campos:
• Estudiante: Hace referencia al Estudiante que canjeo los puntos.
• Empresa: Hace referencia a la empresa donde el Estudiante canjea los puntos.
• FechaCanjeo: Hace referencia a la fecha del canje.
• Total_Canjeado: Hace referencia a la cantidad de puntos canjeados.
Campos:
• Nombre_Ciudad: Equivalente al NombreCiudad de la entidad Ciudad.
• País: Equivalente al País_Ciudad de la entidad Ciudad.
www.companywebsite.com
51
Colección profesores:
db.createCollection("profesores", {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "UserName", "Clave_Acceso", "Nombres", "Apellidos", "Telefono", "Correo",
"Universidad_ID", "salones_de_clase" ],
properties: {
UserName: {
bsonType: "string"
},
Clave_Acceso: {
bsonType: "string"
},
Nombres: {
bsonType: "string"
},
Apellidos: {
bsonType: "string"
},
Telefono: {
bsonType: "string",
},
Correo: {
bsonType: "string"
},
Universidad_ID: {
bsonType: "objectId"
},
salones_de_clase: {
bsonType: "array",
}
}
}
}
})
Colección universitarios
db.createCollection("universitarios", {
validator: {
$jsonSchema: {
bsonType: "object",
www.companywebsite.com
52
Colección clases:
db.createCollection("clases",{
validator:{
$jsonSchema:{
bsonType:"object",
required:["Codigo_Clase","Nombre_Profesor","Nombre_Curso","Horas_dictadas",
"total_creditos", "Facultad_ID", "Universidad_ID"],
properties:{
Codigo_Clase:{
bsonType:"string",
},
Nombre_Profesor:{
bsonType:"string",
},
Nombre_Curso:{
bsonType:"string"
},
Horas_dictadas:{
www.companywebsite.com
53
bsonType:"string"
},
total_creditos:{
bsonType:"number"
},
Facultad_ID:{
bsonType:"objectId"
},
Universidad_ID:{
bsonType:"objectId",
}
}}
}
})
Colección ciudades
db.createCollection("ciudad", {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "Nombre_Ciudad", "Pais" ],
properties: {
Nombre_Ciudad: {
bsonType: "string"
},
Pais: {
bsonType: "string"
}
}
}
}
})
Colección facultades:
db.createCollection("facultades",{
validator:{
$jsonSchema:{
bsonType:"object",
required:["Nombre_Facultad","Nombre_Universidad"],
properties:{
Nombre_Facultad:{
bsonType:"string",
},
Nombre_Universidad:{
bsonType:"string",
}
}}
}
})
Universidades:
db.createCollection("universidades",{
validator:{
$jsonSchema:{
bsonType:"object",
www.companywebsite.com
54
required:["NombreUniversidad","Facultades","Ciudad_ID"],
properties:{
NombreUniversidad:{
bsonType:"string",
},
Facultades:{
bsonType: "array",
uniqueItems: true,
},
Ciudad_ID:{
bsonType:"objectId"
}
}}
}
})
Colección recompensas:
db.createCollection("recompensas", {
validator: {
$jsonSchema:{
bsonType:"object",
required:["FechaRecompensa","Puntos", "Estudiante", "Clase"],
properties:{
FechaRecompensa:{
bsonType:"string",
},
Puntos:{
bsonType:"number",
},
Estudiante:{
bsonType: "object",
properties: {
"usuario_estudiante": {
bsonType: "string"
},
"universitario_id": {
bsonType: "objectId"
}
}
},
Clase:{
bsonType: "object",
properties: {
"Nombre_Curso": {
bsonType: "string"
},
clase_id: {
bsonType: "objectId"
}
}
}
}
}
}
}
)
www.companywebsite.com
55
Colección empresas
db.createCollection("empresas",{
validator:{
$jsonSchema:{
bsonType:"object",
required:["Nombre_Empresa", "Ciudad_ID", "RUC"],
properties:{
Nombre_Empresa:{
bsonType:"string"
},
Ciudad_ID:{
bsonType:"objectId"
},
RUC:{
bsonType:"string"
}
}
}
}
})
db.createCollection("canjeo_puntos", {
validator: {
$jsonSchema:{
bsonType:"object",
required:["estudiante","empresa", "FechaCanjeo", "Total_Canjeado"],
properties:{
estudiante:{
bsonType: "object",
properties: {
"Nombre_Estudiante": {
bsonType: "string"
},
"EstudianteID": {
bsonType: "objectId"
}
}
},
empresa:{
bsonType: "object",
properties: {
"Nombre_Empresa": {
bsonType: "string"
},
"EmpresaID": {
bsonType: "objectId"
}
}
},
FechaCanjeo: {
www.companywebsite.com
56
bsonType: "string"
},
Total_Canjeado: {
bsonType: "number"
}
}
}
}
}
)
Colección universitarios:
db.universitarios.insert({
UserName: "pepito12345",
Clave_Acceso: "pepito6789",
Nombres: "José Luis",
Apellidos: "Perales Perales",
Telefono: "+51 949161510",
Correo: "joseluisperales@gmail.com",
Facultad_ID: ObjectId("62d01d17cdd1b7c8a5f945c9"),
Universidad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
Promedio_Ponderado: 18.59,
Total_Puntos: 3590,
})
Para la colección universitarios se utilizó el subset model pattern para referenciar los valores
“facultad_id” y “universidad_id”. Esto debido a que mejoraría la velocidad de lectura de base de datos
y los datos de universidad y facultad no serán solicitados con mucha frecuencia en relación al
universitario, por lo que es más conveniente referenciarlos.
Colección profesores:
db.profesores.insert({
UserName: "pepito12345",
Clave_Acceso: "pepito6789",
Nombres: "José Luis",
Apellidos: "Perales Perales",
Telefono: "+51 949161510",
Correo: "joseluisperales@gmail.com",
Universidad_ID: ObjectId("62d01d17cdd1b7c8a5f945b9"),
salones_de_clase: [
"SI400-2202-CC42", "SI400-2202-SI41"
www.companywebsite.com
57
]
})
Para la colección profesores se utilizó el subset model pattern para referenciar los valores
“universidad_id” y “salones_de_clase”. Esto debido a que mejoraría la velocidad de lectura de base
de datos y los datos de universidad y salones de clase no serán solicitados con mucha frecuencia en
relación al profesor, por lo que es más conveniente referenciarlos.
Colección clases
db.clases.insert({
Codigo_Clase: "SI400-2202-SI41",
Nombre_Profesor: "pepito12345",
Nombre_Curso: "Diseño de base de datos",
Horas_dictadas: "2h síncrono / 4h asíncrono",
total_creditos: 4,
Facultad_ID: ObjectId("62d01d17cdd1b7c8a5f945b9"),
Universidad_ID: ObjectId("62d01d17cdd1b7c8a5f945b9"),
})
Para la colección clases se utilizó el subset model pattern para referenciar los valores “facultad_id” y
“universidad_id”. Esto debido a que mejoraría la velocidad de lectura de base de datos y los datos de
universidad y facultad no serán solicitados con mucha frecuencia en relación a las clase, por lo que
es más conveniente referenciarlos.
Colección universidades
db.universidades.insert({
NombreUniversidad: "Universidad Peruana de Ciencias aplicadas",
Facultades: [
ObjectId("62d01d17cdd1b7c8a5f945d9"),
ObjectId("62d01d17cdd1b7c8a5f945d8")
],
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
})
Para la colección universidades se utilizó el subset model pattern para referenciar los valores
“Facultades” y “ciudad”. Esto debido a que mejoraría la velocidad de lectura de base de datos y los
datos de las facultades y ciudad no serán solicitados con mucha frecuencia en relación a las clase,
por lo que es más conveniente referenciarlos.
Colección recompensas
db.recompensas.insert({
FechaRecompensa: "10 de octubre de 2022",
Puntos: 300,
Estudiante: {
usuario_estudiante: "pepito1244",
universitario_id: ObjectId("636be1e2b1492f7f66cfc123"),
},
Clase: {
clase_id: ObjectId("636be1e2b1492f7f66cfc123"),
Nombre_Curso: "Diseño de bases de datos"
},
})
www.companywebsite.com
58
Colección Empresas
db.empresas.insert({
Nombre_Empresa: "Coca Cola SAC",
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
RUC: "10603645948"
})
Para la colección empresas hemos usado el subset model pattern para almacenar los datos
sobre la ciudad. Esto debido a que los datos sobre la ciudad de la empresa serán solicitados
con poca frecuencia y al embeber los datos estaríamos empeorando la capacidad de lectura
de la aplicación, por lo que vimos pertinente referenciar estos datos.
Colección canjeo_puntos
db.canjeo_puntos.insert({
estudiante: {
Nombre_Estudiante: "Nicolás Contreras",
EstudianteID: ObjectId("62d01d17cdd1b7c8a5f945d9")
},
empresa: {
Nombre_Empresa: "Coca Cola SAC",
EmpresaID: ObjectId("62d01d17cdd1b7c8a5f945d9")
},
FechaCanjeo: "10 de noviembre de 2003",
Total_Canjeado: 10
})
www.companywebsite.com
59
Nuestro sistema gestor de base de datos cumplirá con el modelamiento relacional. De acuerdo
con Oracle, en una base de datos relacional, las estructuras de datos lógicas (las tablas de
datos, las vistas y los índices) están separadas de las estructuras de almacenamiento físicas.
Gracias a esta separación, nosotros como administradores de las bases de datos podremos
gestionar el almacenamiento físico de datos sin que eso influya en el acceso a esos datos
como estructura lógica.
Teniendo en qué es un RDBMS y sus principales funcionalidades en una base de datos, las
opciones más populares actualmente son las siguientes:
www.companywebsite.com
60
Principalmente está compuesto por un motor relacional que está encargado de los
procedimientos de comandos, tablas, búferes de datos y los almacenamientos de archivos.
Los niveles secundarios están destinados a la gestión de la memoria, la planificación y la
gestión de las interacciones de solicitud y respuestas con los servidores de base de datos.
www.companywebsite.com
61
SQL Server recurre al cálculo relacional para obtener la información que buscas y poder
modificar la arquitectura del sistema. El SQL se creó originalmente como un motor de
consultas y ahora tiene otros usos:
Otras opciones que se pudieron considerar como sistema gestor de bases de datos son las
siguientes:
MySQL
Este RDBMS es el segundo más popular en la lista de Statista. Los principales beneficios de
MySQL son los siguientes:
• Compatibilidad => MySQL es compatible con todos los sistemas operativos (Mac,
Windows y Linux). Además, al ser open-source, prácticamente su acceso es
universal.
• Velocidad de aprendizaje => MySQL tiene una curva de aprendizaje muy óptima
para quienes son nuevos en el uso de RDBMS.
• Disponibilidad => MySQL está disponible a nivel mundial y cuenta con back-up en
caso la base de datos falle.
www.companywebsite.com
62
Oracle
Oracle Corporation es una de las mayores compañías de software del mundo y es el más
completo en la base de datos. Las principales características de Oracle son los siguientes:
• Control de acceso: Oracle utiliza las tecnologías avanzadas que controla quien
accede a los datos.
• Modelo relacional: Oracle tiene un modelo relacional en el que los usuarios
visualizan los datos en las tablas con el formato filas y columnas, realizando más
fácil la manipulación y modificación.
• Protección de datos: Oracle tiene la seguridad completa en el entorno de
producción de pruebas y gestión de copias de seguridad.
• Alta disponibilidad: Oracle tiene una alta disponibilidad en la protección y alto
rendimiento que le permite implementar en la entidad los planes de HA.
• Gestión de usuarios: Oracle ligereza en los trámites. reducción de costes y
seguridad en el control de las personas que acceden a las aplicaciones y datos.
www.companywebsite.com
63
www.companywebsite.com
64
Script:
create database Pivy_Test_DB
use Pivy_Test_DB
www.companywebsite.com
67
• Un documento MongoDB es una colección de pares clave, como las filas en las
tablas de MySQL.
www.companywebsite.com
68
4.4. Queries
Queries básicos
#1. Listar información de los cursos cuya cantidad de créditos académicos es mayor a 3 en
orden ascendente.
Este query nos sirve para conocer información detallada sobre todos los cursos cuya
cantidad de créditos es mayor a 3. Entre esta información elegimos listar el nombre del
curso, las horas dictadas y el total de créditos y ordenarlo de forma ascendente según la
cantidad de créditos:
#2. Listar información sobre los canjes de puntos cuya cantidad canjeada sea menor a 2000
Esta consulta es de utilidad para conocer los canjes de puntos con un índice de canje menor
a 2000.
#4. Listar todos los usuarios que no han registrado su número telefónico
En nuestro log-in el registro de número telefónico será opcional, por lo que consideramos
pertinente conocer información sobre los usuarios que no han registrado su número
telefónico:
#5. Listar las recompensas obtenidas ordenadas de forma descendente según la cantidad de
puntos obtenidos
Este query nos permitirá visualizar la información de las recompensas priorizando en el
orden de visualizar a las que tienen mayor cantidad de puntaje.
Queries Complejos
www.companywebsite.com
69
#1 Obtener los datos de contacto de los estudiantes que han canjeado puntos de a partir de
una determinada cantidad.
Este procedimiento nos permite hallar los datos de los estudiantes que han canjeado puntos
de a partir de una determinada cantidad.
Ejecución del procedimiento con las variables igual a UPC y Facultad de ingeniería:
exec EncontrarEstudiantesPorFacultad 'UPC', 'ingenieria'
#4 Encontrar los nombres y apellidos de todos los profesores que dictan un determinado
curso en una determinada universidad:
Esta sentencia nos permite hallar datos sobre los profesores que dictan un determinado
curso en una determinada universidad. Por medio de esta sentencia el administrador puede
buscar según el nombre del curso y el nombre de la universidad.
Ejecución del procedimiento con las variables igual a Diseño de bases de datos y UPC:
exec ObtenerProfesPorCurso 'Diseño de base de datos', 'UPC'
#6 Seleccionar los datos de los estudiantes de una universidad que tengan cierta cantidad
máxima de puntos acumulados.
Este query nos permite hallar los datos de los estudiantes que tienen un máximo acumulado
de puntos en cierta universidad. Por medio de este, el administrador puede organizar ciertas
estrategias para ofrecerles promociones en pro de estimular su uso de la plataforma.
www.companywebsite.com
71
@uni varchar(50),
@puntaje int as
select UserID, Nombres, Apellidos, Nombre_Facultad, Promedio_Ponderado, Total_Puntos
from Usuario us
join Universitario uni on us.UserID = uni.Usuario_ID
join DetalleUniversitario det on uni.Detalle_Universitario = det.DetalleID
join Facultad fac on det.Facultad_ID = fac.Facultad_ID
join Universidad u on fac.Universidad_ID = u.Universidad_ID
where (Total_Puntos <= @puntaje) and Nombre_Universidad = @uni
www.companywebsite.com
72
) tablaAuxiliar
) and Nombre_Universidad = @uni
#9 Encontrar los correos electrónicos de los profesores que dictan un grupo de clases cuyo
acumulado de créditos llega a cierto valor.
Este query sirve para estimar la carga laboral como docente de cada profesor y en base de
ello analizar su comportamiento. Este query suma los créditos de todas las clases en las que
un profesor enseña de a partir de cierto valor y los ordena de forma descendente.
#10 Encontrar la cantidad de empresas que han canjeado una cantidad determinada de
puntos por cada ciudad.
Este query nos permite conocer la cantidad de empresas en cada ciudad que han participado
en el canje de puntos desde un determinado valor en adelante.
#11 Procedimiento almacenado que retorna la cantidad de salones de clase en los que dicta
cada profesor
Este query nos permite almacenar la cantidad de salones de clases que el profesor dicta en
diferentes salones.
#12 Procedimiento que lista a los alumnos por mayor cantidad de puntos en forma
descendente según las cantidades de puntaje obtenido
Este query nos permite encontrar a los alumnos que obtuvieron la mayor cantidad de puntaje,
listandolos de menor a mayor según las cantidades de puntajes que obtengan gracias a sus
calificaciones.
#13 Procedimiento que lista a los profesores que trabajan en universidades de determinada
ciudad
Este query nos permite encontrar a los alumnos que obtuvieron la mayor cantidad de puntaje,
listandolos de menor a mayor según las cantidades de puntajes que obtengan gracias a sus
calificaciones.
create procedure profesoresPorCiudad
@ciudad varchar(40)
as
begin
select Profesor.Usuario_ID, Universidad.Nombre_Universidad, Ciudad.NombreCiudad from
Profesor
join Universidad on Universidad.Universidad_ID=Profesor.Universidad_ID
www.companywebsite.com
74
db.profesores.aggregate([
{ $lookup: {
from: "universidades",
localField: "Universidad_ID",
foreignField: "_id",
as: "Data_universidad",
}
},
{
$match:{
"Data_universidad.NombreUniversidad": {$eq: "Universidad Peruana de Ciencias
aplicadas"},
}
},
{
$project: {
_id:0,
Nombres: 1,
Apellidos: 1,
Telefono: 1,
Correo: 1,
}
}
])
www.companywebsite.com
75
db.universitarios.aggregate([
{
$lookup: {
from: "facultades",
localField: "Facultad_ID",
foreignField: "_id",
as: "facultad"
}
},
{
$match: {
"facultad.Nombre_Facultad": {$eq: "Facultad de ingeniería"},
"facultad.Nombre_Universidad": {$eq: "Universidad peruana de ciencias aplicadas"}
}
},
{
$project: {
_id:0,
Nombres: 1,
Apellidos: 1,
Telefono: 1,
Correo: 1,
"facultad": 1,
}
}
])
db.universitarios.aggregate([
{
$lookup: {
from: "universidades",
localField: "Universidad_ID",
foreignField: "_id",
as: "Data_universidad",
}
},
{
$group: {
_id: "$Data_universidad.NombreUniversidad",
total: {
$sum: '$Total_Puntos'
}
}
www.companywebsite.com
76
}
])
db.universitarios.aggregate(
{
$project: {
_id: 0,
Nombres: 1,
Apellidos: 1,
EstadoAcademico: {$cond:
{if: {
$lte: ['Promedio_Ponderado', 13]},
then: 'Promedio bajo - regular',
else: 'Promedio óptimo'
}}
}
}
)
www.companywebsite.com
77
db.recompensas.aggregate([
{
$group: {
_id: "$Data_Estudiante.UserName",
totalDePuntosAcumulados: {$sum: "$Puntos"}
}
},
{
$sort: {
"totalDePuntosAcumulados": -1
}
}
])
$lookup: {
from: "empresas",
localField: "EstudianteID",
foreignField: "_id",
as: "dataEmpresas"
}
},
www.companywebsite.com
78
{
$match: {
"Total_Canjeado":{$gte: 5}
}
},
{
$project: {
_id:0,
"Estudiante":0,
"empresa":0
}
}
])
db.ciudades.aggregate([
{
$lookup: {
from: "empresas",
localField: "Ciudad_ID",
foreignField: "_id",
as: "Ciudades"
}
},
{
$match: {
"Nombre_Ciudad":{$eq:"Lima"}
}
},
{
$project: {
_id:1,
"Ciudades":0,
"Pais":0
}
}
])
www.companywebsite.com
79
//Encontrar las clases que pertenezcan a la facultad de ingeniería de la UPC y valgan más de
4 créditos
Esta consulta nos mostrará las clases que pertenezcan a la facultad de ingeniería de la UPC
las cuales valen las de 4 créditos, ello nos pedirá la faculta, el ID de la facultad y luego de
colocar los datos nos mostrará el código de la clase, nombre de la clase y el total de créditos
en base de ellos vamos a poder ver las clases que tengan un peso mayor a 4 créditos.
{$match : {
"facultad_doc.Nombre_Facultad" : {$eq : "Facultad de ingeniería"} ,
"facultad_doc.Nombre_Universidad" : {$eq : "Universidad Peruana de Ciencias
aplicadas"},
"total_creditos": {$gte : 4}
}
},
{
$project: {
Codigo_Clase: 1,
Nombre_Curso: 1,
total_creditos: 1,
facultad: "$facultad_doc.Nombre_Facultad",
universidad: "$facultad_doc.Nombre_Universidad"
}
}
])
//Mostrar las recompensas que valgan más de 200 puntos y pertenezcan a la clase de diseño
de base de datos
Esta consulta nos mostrará y ayudará a encontrar las recompensas que valgan más de 200
puntos y pertenezcan a la clase de diseño de base de datos, además que primero nos pedirá
su ID de la clase para poder verificar que valen 200 puntos y nos mostrará el nombre del
curso.
www.companywebsite.com
80
//encontrar las recompensas que valgan más de 200 puntos y pertenezcan a la clase de
diseño de base datos
db.recompensas.aggregate([
{
$lookup: {
from: "clases",
localField: "Clase.clase_id",
foreignField: "_id",
as: "clase_doc"
}
},
{
$match:{
"Puntos" : {$gte : 200},
"clase_doc.Nombre_Curso" : {$eq : "Diseño de base de datos"}
}
},
{
$project: {
Puntos: 1,
Nombre_Curso: "$clase_doc.Nombre_Curso"
}
}
])
www.companywebsite.com
81
CONCLUSIONES
Se concluye que realizar un correcto análisis de mercado es de mucha importancia
para reconocer las debilidades y fortalezas de nuestros competidores directos y
así, lograr buenas estratégicas corporativas.
Las entrevistas fueron pieza clave para poder obtener información de nuestro
segmento objetivo para así poder identificar mediante preguntas claves las
necesidades, objetivos, pensamientos, conocimientos y más cualidades para
poder entender su forma de pensar, actuar y vivir.
Realizar el análisis del todo Logical Data Mode pasando por los pasos previos de
declaración de los Entities, sus atributos y diseñar el modelo de conexiones, nos
ayudó a entender mejor cómo se desarrollará la Base de Datos de nuestro
proyecto para poner
A manera de conclusión, las entrevistas fueron pieza clave para poder obtener
información de nuestro segmento objetivo para así poder identificar mediante
preguntas claves las necesidades, objetivos, pensamientos, conocimientos y más
cualidades para poder entender su forma de pensar, actuar y vivir.
Se puede concluir que Microsoft SQL server es la herramienta más apropiada para
este tipo de trabajo.
Con SQL Server Nos permite ingresar comandos o sentencias de tal manera que
podemos administrar o crear un base de datos. Esta variedad de comandos nos
permite generar mantenimientos a las tablas, modificaciones, entre otros.
También nos permite recuperar datos o importarlos de varias maneras.
www.companywebsite.com
82
www.companywebsite.com
83
VÍDEO ABOUT-THE-TEAM
En el video about-the-team, cada uno de los integrantes del equipo cuenta su experiencia a
la hora de realizar este trabajo. Este grupo se caracterizó por trabajar de forma colaborativa y
comunicativa. Sin embargo, uno de los aspectos que nos faltó mejorar fue el orden, aspecto
que corregiremos en futuros cursos de nuestras carreras.
BIBLIOGRAFÍA
Anaya, T., Montalvo, J., Calderón, A., & Arispe, C. (2021). Escuelas rurales en el Perú:
factores que acentúan las brechas digitales en tiempos de pandemia (COVID- 19)
y recomendaciones para reducirlas. Educación, 30 (58), 11-33. doi:
https://doi.org/10.18800/educacion.202101.001
Andina. (2017). Educación universitaria: hay 30% de deserción por falta de orientación
y de recursos. Andina. Recuperado de: https://andina.pe/agencia/noticia-
educacion-universitaria-hay-30-desercion-falta-orientacion-y-recursos-
670189.aspx [Consulta: 22 de septiembre del 2022].
Apaza, E., & Huamán, F. (2012). Factores determinantes que inciden en la deserción de
los estudiantes universitarios. Apuntes Universitarios. Revista de Investigación,
(1), 77-86. Recuperado de
https://www.redalyc.org/pdf/4676/467646124005.pdf [Consulta: 25 de
septiembre de 2022].
https://ayudaleyprotecciondatos.es/bases-de-datos/no-
relacional/#:~:text=Una%20base%20de%20datos%20no,%2C%20esto%20es%2
C%20las%20relacionales.
Coronel Flores, V. M., Gil Huilca, S., León Figueroa, A., León Román, N., & Vilchez
Atalaya, J. A. (2020). Deserción estudiantil universitaria en el Perú. Recuperado
de http://repositorio.uigv.edu.pe/handle/20.500.11818/4823 [Consulta: 25 de
septiembre de 2022].
www.companywebsite.com
84
Eguren, E., Belaunde, C., & González, N. (2013). Capacitación docente, uso de materiales
educativos y aprendizajes: los modelos de dotación de material educativo en el
Perú. Apuntes. Revista De Ciencias Sociales, 40 (72), 57-83. doi:
https://doi.org/10.21678/apuntes.72.675
Gestión. (2021). Seis de cada diez jóvenes abandonaron sus estudios superiores por la
pandemia. Gestión. Recuperado de: https://gestion.pe/peru/covid-19-
universidades-seis-de-cada-diez-jovenes-abandonaron-sus-estudios-superiores-
por-la-pandemia-nndc-noticia/?ref=gesr [Consulta: 24 de septiembre del 2022].
Necochea Ocaña, Y., Nervi Condori, C., Tuesta Echeandía, V., Olazabal Valera, L.,
Rodríguez Carrasco, J., Gastelo Dávila, A. & León-Jiménez, F. (2017).
Frecuencia y características del abandono estudiantil en una Escuela de Medicina
de Lambayeque, 2006-2014. Revista Médica Herediana, 28(3), 171.
https://doi.org/10.20453/rmh.v28i3.3184 [Consulta: 26 de septiembre del 2022].
www.companywebsite.com
85
www.companywebsite.com
86
ANEXOS
Anexo A: Vídeo about-the-team
https://youtu.be/Fs77MYTF88w
www.companywebsite.com
87
www.companywebsite.com
88
values(@Ciudad_ID, @NombreCiudad,@Pais_Ciudad)
www.companywebsite.com
89
@Total_Creditos tinyint
as
insert into dbo.Curso
values (@Curso_ID,@Facultad_ID,@Nombre_Curso,@Horas_Dictadas,@Total_Creditos)
www.companywebsite.com
90
www.companywebsite.com
91
--execute de usuarios
select *from Usuario
exec Insertar_Usuario '1', 'Izicode','nicolle20', 'Nicolle' , 'Amarillo Alejos', '+51 914668213',
'nicolle.anmarillo@gmail.com'
exec Insertar_Usuario '2', 'vambi','Italo18', 'Italo' , 'Mendoza Portugal', '+51 768192023',
'italo.mendoza@gmail.com'
exec Insertar_Usuario '3', 'yanely','Yanely18', 'Yanely' , 'Dolores Zuñiga', '+51 989038256',
'yanely.dolores@gmail.com'
exec Insertar_Usuario '4', 'nicolas','nicolas4', 'Nicolas' , 'Contreras Robledo', '+51 918382628',
'nicolas.contreras@gmail.com'
exec Insertar_Usuario '5', 'chaufagod','Piero19', 'Piero' , 'Valverde Cora', '+51 834702338',
'piero.valverde@gmail.com'
exec Insertar_Usuario '6', 'WaRequejo','requejoprof18', 'Walter' , 'Requejo', '+51 988746123',
'walter.ihc.prof@gmail.com'
exec Insertar_Usuario '7', 'JuanCarlo','juanito.2022', 'Juan Carlos' , 'Arevalo', '+51
956821365', 'piero.valverde@gmail.com'
--execute de ciudades
select *from Ciudad
exec Insertar_Ciudad '1', 'Lima', 'Peru'
exec Insertar_Ciudad '2', 'Arequipa', 'Peru'
exec Insertar_Ciudad '3', 'Cusco', 'Peru'
exec Insertar_Ciudad '4', 'Ica', 'Peru'
exec Insertar_Ciudad '5', 'Piura', 'Peru'
exec Insertar_Ciudad '6', 'Sidney', 'Australia'
exec Insertar_Ciudad '7', 'Buenos Aires', 'Argentina'
www.companywebsite.com
92
--execute de universidad
select *from Universidad
exec Insertar_Universidad '1', '1', 'UPC'
exec Insertar_Universidad '2', '1', 'USIL'
exec Insertar_Universidad '3', '2', 'UPC'
exec Insertar_Universidad '4', '4', 'SJB'
exec Insertar_Universidad '5', '4', 'UAI'
--execute de facultad
select *from Facultad
exec Insertar_Facultad '1', '1', 'Ingenieria'
exec Insertar_Facultad '2', '1', 'Comunicaciones'
exec Insertar_Facultad '3', '2', 'Medicina'
exec Insertar_Facultad '4', '1', 'Arquitectura'
--execute de DetalleUniversitario
select *from DetalleUniversitario
exec Insertar_Det_Univ '1' , '1', '18.5', '300'
exec Insertar_Det_Univ '2' , '1', '17.5', '250'
exec Insertar_Det_Univ '3' , '1', '19.5', '400'
exec Insertar_Det_Univ '4' , '1', '15', '75'
exec Insertar_Det_Univ '5' , '2', '16', '200'
exec Insertar_Det_Univ '6' , '2', '16.2', '213'
exec Insertar_Det_Univ '7' , '2', '18', '285'
--execute de universitario
select *from Universitario
exec Insertar_Universitario '1','1'
exec Insertar_Universitario '2','2'
exec Insertar_Universitario '3','3'
exec Insertar_Universitario '4','4'
exec Insertar_Universitario '5','5'
--execute de profesores
select *from Profesor
exec Insertar_Profesor '6', '1'
exec Insertar_Profesor '7', '2'
--executre de cursos
select *from Curso
exec Insertar_Curso '1', '1', 'Diseño de Base de Datos ', '4h sincronico', '4'
exec Insertar_Curso '2', '1', 'Matematica Discreta ', '4h sincronico', '6'
exec Insertar_Curso '3', '3', 'Anatomia', '6h sincronico', '6'
www.companywebsite.com
93
--execute de Salon
select *from Salon
exec Insertar_Salon '1', '6', '1'
exec Insertar_Salon '2', '6', '2'
--execute de Recompensa_Obtenida
select * from Recompensa_Obtenida
exec Insertar_Recomp_Obt '1' , '1','1', '2022-08-31', '300'
exec Insertar_Recomp_Obt '2' , '1','2', '2022-07-22', '250'
exec Insertar_Recomp_Obt '3' , '2','1', '2022-08-23', '250'
exec Insertar_Recomp_Obt '4' , '2','2', '2022-09-23', '300'
--execute de Empresa
select * from Empresa
exec Insertar_Empresa '1', '1','CocaCola', '725684178'
exec Insertar_Empresa '2', '1','Lays', '768958274'
exec Insertar_Empresa '3', '1', 'Bembos', '784512693'
--execute de Canjeo_Puntos
select * from Canjeo_Puntos
exec Insertar_CanjeoPuntos '1' , '1', '1', '2022-09-23' ,'100'
exec Insertar_CanjeoPuntos '2' , '1', '1', '2022-09-25' ,'300'
exec Insertar_CanjeoPuntos '3' , '2', '1', '2022-09-25' ,'350'
exec Insertar_CanjeoPuntos '4' , '2', '2', '2022-09-28' ,'200'
www.companywebsite.com
94
Para realizar inserciones de datos en nuestra base de datos mongoDB podemos utilizar
principalmente 2 métodos: insertOne para insertar un solo documento o insertMany para
insertar múltiples documentos. A continuación, se muestran inserciones de documentos para
todas las colecciones utilizando ambos métodos:
Colección facultades:
db.facultades.insertOne({
Nombre_Facultad: "Facultad de ingeniería",
Nombre_Universidad: "Universidad Peruana de Ciencias aplicadas"
})
db.facultades.insertMany([
{
Nombre_Facultad: "Facultad de arquitectura",
Nombre_Universidad: "Universidad de Lima"
},
{
Nombre_Facultad: "Facultad de arquitectura",
Nombre_Universidad: "Universidad Peruana de Ciencias aplicadas"
}
])
Colección profesores:
db.profesores.insertOne({
UserName: "pepito12345",
Clave_Acceso: "pepito6789",
Nombres: "José Luis",
Apellidos: "Perales Perales",
Telefono: "+51 949161510",
Correo: "joseluisperales@gmail.com",
Universidad_ID: ObjectId("63724e3c68fd464705057b6b"),
salones_de_clase: [
"SI400-2202-CC42", "SI400-2202-SI41"
]
})
db.profesores.insertMany([
{
UserName: "JuanChi10",
Clave_Acceso: "me_gusta_la_pizza",
Nombres: "Juan",
Apellidos: "Pérez Gonzales",
Telefono: "+51 949161510",
Correo: "juanchi@gmail.com",
Universidad_ID: ObjectId("63724e3c68fd464705057b6b"),
salones_de_clase: [
www.companywebsite.com
95
"SI400-2202-C242", "SI400-2202-SI40"
]
},
{
UserName: "JuanChi11",
Clave_Acceso: "me_gustan_los_macarrones",
Nombres: "Juan",
Apellidos: "Gonzales Pérez",
Telefono: "+51 949161511",
Correo: "juanchi1@gmail.com",
Universidad_ID: ObjectId("63724e3c68fd464705037b6b"),
salones_de_clase: [
"SI400-2202-C243", "SI400-2202-SI30"
]
}
])
Colección clases:
db.clases.insertOne({
Codigo_Clase: "SI400-2202-SI40",
Nombre_Profesor: "Nicolás Pelaez",
Nombre_Curso: "Diseño de base de datos",
Horas_dictadas: "2h síncrono / 2h asíncrono",
total_creditos: 1,
Facultad_ID: ObjectId("62d01d17cdd1b7c8a5w945b9"),
Universidad_ID: ObjectId("62d01d17cdd1b7d8a5f945b9"),
})
db.clases.insertMany([
{
Codigo_Clase: "SI400-2202-SI41",
Nombre_Profesor: "Nicolás Pelaez",
Nombre_Curso: "Diseño de base de datos",
Horas_dictadas: "2h síncrono / 2h asíncrono",
total_creditos: 1,
Facultad_ID: ObjectId("62d01d17cdd1b7c8a5f945c9"),
Universidad_ID: ObjectId("62d01d17cdd1b7c8a5f915b9"),
},
{
Codigo_Clase: "SI400-2202-SI42",
Nombre_Profesor: "Nicolás Pelaez",
Nombre_Curso: "Diseño de base de datos",
Horas_dictadas: "2h síncrono / 2h asíncrono",
total_creditos: 1,
Facultad_ID: ObjectId("62d01d17cdd1b7c8a5f945b9"),
Universidad_ID: ObjectId("62d01d17cdd1b7c8a5f945b1"),
}
])
www.companywebsite.com
96
Colección universidades:
db.universidades.insertOne({
NombreUniversidad: "Universidad Peruana de Ciencias aplicadas",
Facultades: [
ObjectId("62d01d17cdd1b7c8a5f945d9"),
ObjectId("62d01d17cdd1b7c8a5f945d8")
],
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
})
db.universidades.insertMany([
{
NombreUniversidad: "Universidad Peruana de Ciencias aplicadas",
Facultades: [
ObjectId("62d01d17cdd1b7c8a5f945d9"),
ObjectId("62d01d17cdd1b7c8a5f945d8")
],
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
},
{
NombreUniversidad: "Universidad Lima",
Facultades: [
ObjectId("62d01d17cdd1b7c8a5f945a9"),
ObjectId("62d01d17cdd1b7c8a5f945a8")
],
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
},
])
Colección recompensas:
db.recompensas.insertOne({
FechaRecompensa: "10 de octubre de 2022",
Puntos: 300,
Estudiante: {
usuario_estudiante: "pepito1244",
universitario_id: ObjectId("636be1e2b1492f7f66cfc123"),
},
Clase: {
clase_id: ObjectId("636be1e2b1492f7f66cfc123"),
Nombre_Curso: "Diseño de bases de datos"
},
})
db.recompensas.insertMany([
{
FechaRecompensa: "10 de octubre de 2022",
Puntos: 300,
Estudiante: {
usuario_estudiante: "pepito1244",
universitario_id: ObjectId("636be1e2b1492f7f66cfc123"),
www.companywebsite.com
97
},
Clase: {
clase_id: ObjectId("636be1e2b1492f7f66cfc123"),
Nombre_Curso: "Diseño de bases de datos"
},
},
{
FechaRecompensa: "11 de octubre de 2022",
Puntos: 400,
Estudiante: {
usuario_estudiante: "pepito1234",
universitario_id: ObjectId("236be1e2b1492f7f66cfc123"),
},
Clase: {
clase_id: ObjectId("336be1e2b1492f7f66cfc123"),
Nombre_Curso: "Diseño de bases de datos"
},
},
])
Colección empresas:
db.empresas.insertOne({
Nombre_Empresa: "Coca Cola SAC",
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
RUC: "10603645948"
})
db.empresas.insertMany([
{
Nombre_Empresa: "Coca Cola SAC",
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
RUC: "20603645948"
},
{
Nombre_Empresa: "Inca Cola SAC",
Ciudad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
RUC: "20538856674"
},
])
Colección canjeo_puntos:
db.canjeo_puntos.insertOne({
estudiante: {
Nombre_Estudiante: "Nicolás Contreras",
EstudianteID: ObjectId("62d01d17cdd1b7c8a5f945d9")
},
empresa: {
Nombre_Empresa: "Coca Cola SAC",
www.companywebsite.com
98
EmpresaID: ObjectId("62d01d17cdd1b7c8a5f945d9")
},
FechaCanjeo: "10 de noviembre de 2003",
Total_Canjeado: 10
})
db.canjeo_puntos.insertMany([
{
estudiante: {
Nombre_Estudiante: "Nicolás Contreras",
EstudianteID: ObjectId("62d01d17cdd1b7c8a5f945d9")
},
empresa: {
Nombre_Empresa: "Coca Cola SAC",
EmpresaID: ObjectId("62d01d17cdd1b7c8a5f945d9")
},
FechaCanjeo: "10 de noviembre de 2003",
Total_Canjeado: 10
},
{
estudiante: {
Nombre_Estudiante: "Nicolle Amarillo",
EstudianteID: ObjectId("62d01d17cdd1b7c8a5f945d8")
},
empresa: {
Nombre_Empresa: "Coca Cola SAC",
EmpresaID: ObjectId("62d01d17cdd1b7c8a5f945d8")
},
FechaCanjeo: "10 de noviembre de 2003",
Total_Canjeado: 100
}
])
Colección ciudades:
db.ciudades.insertOne({
Nombre_Ciudad: "Lima",
Pais: "Peru"
})
db.ciudades.insertMany([
{
Nombre_Ciudad: "Lambayeque",
Pais: "Perú"
},
{
Nombre_Ciudad: "Cajamarca",
Pais: "Perú"
}
])
www.companywebsite.com
99
Colección universitarios:
db.universitarios.insertOne({
UserName: "pepito12345",
Clave_Acceso: "pepito6789",
Nombres: "José Luis",
Apellidos: "Perales Perales",
Telefono: "+51 949161510",
Correo: "joseluisperales@gmail.com",
Facultad_ID: ObjectId("62d01d16cda1b7c8a5f945c9"),
Universidad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
Promedio_Ponderado: 18.59,
Total_Puntos: 3590,
})
db.universitarios.insertMany([
{
UserName: "pepe12345",
Clave_Acceso: "me_gustan_las_pizzas",
Nombres: "José Luis",
Apellidos: "Perales Perales",
Telefono: "+51 949161110",
Correo: "joseluisperales@gmail.com",
Facultad_ID: ObjectId("62d01d16cda1b7c8a5f945c9"),
Universidad_ID: ObjectId("62d01d17cdd1b7c8a5f945d9"),
Promedio_Ponderado: 18.59,
Total_Puntos: 3590,
},
{
UserName: "pepe6789",
Clave_Acceso: "me_gustan_los_tacos",
Nombres: "Ronaldinho Neymar",
Apellidos: "Pérez Gonzáles",
Telefono: "+51 949161210",
Correo: "ronaldinho@gmail.com",
Facultad_ID: ObjectId("12d01d16cda1b7c8a5f945c9"),
Universidad_ID: ObjectId("13d01d17cdd1b7c8a5f945d9"),
Promedio_Ponderado: 15.1,
Total_Puntos: 5000,
}
])
www.companywebsite.com