• No results found

Chapter 6 Discussion

6.4 Further thoughts on technique

Se utiliza la base de datos no relacional MongoDB por esta razón se describe las colecciones y la estructura de los documentos que componen a cada una:

Nombre colección: users

Descripción: Almacena los datos de los usuarios (coordinador, laboratoristas, docentes y estudiantes)

Campo Tipo de dato Descripción

username String Código del usuario

password String Contraseña del usuario

name String Nombres del usuario

lastname String Apellidos del usuario

full_names String Nombre completo del usuario

phone String Número de teléfono fijo del usuario

mobile String Número de teléfono móvil del usuario

email String Correo electrónico del usuario

creator:

ObjectId Identificador del usuario que crea o modifica el registro

status: ObjectId Identificador del estado del usuario profile: ObjectId Identificador del perfil del usuario career:

ObjectId Identificador del proyecto curricular a que pertenece el usuario

created: Date Fecha de creación del usuario

updated:

Date Fecha de última actualización del usuario

Tabla 1. Colección users

Nombre colección: profiles

Descripción: Almacena los datos de perfiles, un usuario debe tener un perfil

Campo Tipo de dato Descripción

name String Nombre del perfil

description String Descripción del perfil routes

[{route:

ObjectId, _id: boolean}]

Arreglo que contiene la identificación de las rutas a las que tiene acceso el perfil creator ObjectId Identificador del usuario que crea o

modifica el perfil

status ObjectId Identificador del estado del perfil

created Date Fecha de creación del perfil

updated Date Fecha de última actualización del perfil

53 Nombre colección: metrics

Descripción: Almacena la información de proyectos curriculares, laboratorios, tipos de práctica, prácticas guiadas y ubicaciones de almacenamiento

Campo Tipo de dato Descripción

name String Nombre de la métrica

type String Nombre del tipo de métrica

code Number Código asignado a la métrica

description String Descripción de la métrica metric_rel

{career: ObjectId, practical_type: ObjectId}

Arreglo que contiene el identificador del proyecto curricular y el identificador del tipo de práctica.

Tabla 3. Colección metrics

Nombre colección: teachers

Descripción: Almacena información adicional para los usuarios que tienen el perfil de profesores

Campo Tipo de dato Descripción

user_id ObjectId Identificador del docente

career_id ObjectId Identificador del proyecto curricular subject_id ObjectId Identificador de las asignaturas

date_admission Date Fecha de admisión

semester_admission ObjectId Identificador del semestre de admisión

status ObjectId Identificador del estado de los

docentes

update Date Fecha de la última actualización de los

datos

Tabla 4. Colección teachers

Nombre colección: subjects

Descripción: Almacena los datos de las materias y asocia con los proyectos curriculares

Campo Tipo de dato Descripción

code Number Código de la materia

name String Nombre de la materia

description String Descripción de la materia

career_id [{ ObjectId }]

Arreglo que contiene los identificadores de los proyectos curriculares

status ObjectId Identificador de estado

updated Date Fecha de última actualización de los datos

54 Nombre colección: providers

Descripción: Guarda la información correspondiente a los proveedores

Campo Tipo de dato Descripción

name String Nombre del proveedor

supply String Bien o servicio suministrado por el proveedor

importance String Importancia (crítico o no crítico del proveedor)

city String Ciudad que está ubicado el proveedor

address String Dirección del proveedor

phone { mobile: String,

fixed: String }

Número de teléfonos fijo y móvil del proveedor

email String Correo electrónico del proveedor

status String Estado actual del proveedor

selection { date: Date, value_r: String, criterion_r: String, observation: String}

Resultados de selección del proveedor

Tabla 6. Colección providers

Nombre colección: entries

Descripción: Guarda la información referente a las entradas de almacén

Campo Tipo de dato Descripción

invoice String Número de la factura que entrega el proveedor

date Date Fecha de entrada al almacén

date_registry Date Fecha y hora actual que se realiza el presente formulario

Username ObjectId Identificador del usuario coordinador o laboratorista que recibe

per_delivery String Nombre de quien entrega el material

entry String Entrada

contract String Tipo de contrato con el proveedor

provider_id ObjectId Identificador del proveedor description [{ group: String, unity: Number, quantity: Number, description:

Arreglo que contiene la descripción de la entrada de almacén (grupo, unidad, cantidad, descripción del equipo y ubicaci)

55 String, location: ObjectId }]

Tabla 7. Colección entries

Nombre colección: stocks

Descripción: Almacena los datos de la ficha técnica de los equipos

Campo Tipo de dato Descripción

entry_id ObjectId Identificador de la entrada de

almacén

entry_val ObjectId Identificador de la descripción de equipos en la entrada de almacén

code String Código del equipo

succession String Serie del equipo

trademark String Marca del equipo

equipment String Nombre del equipo

model String Modelo del equipo

state String Estado de adquisición del equipo

laboratory_id ObjectId Identificador del laboratorio donde se utilizara el equipo

location_id ObjectId Identificador de la ubicación donde se almacena el equipo characteristics { power: String, voltaje: String, kw: String, amperaje: String }

Características detalladas del equipo

description String Descripción del equipo

photo String Foto del equipo

handbook String Manual del equipo

observations String Observaciones del equipo

status ObjectId Estado de disponibilidad del equipo

Tabla 8. Colección stocks

Nombre colección: maintenances

Descripción: Almacena información referente a los mantenimientos preventivos y correctivos

Campo Tipo de dato Descripción

stocks_id ObjectId Identificador del equipo o material que está en el inventario

type ObjectId Tipo de mantenimiento

controls_id ObjectId Identificador del mantenimiento preventivo programado

date Date Fecha de ejecución del mantenimiento

56

solution String Solución ejecutada en el

mantenimiento

spare_parts String Repuestos utilizados en el

mantenimiento

user_id ObjectId Identificador del laboratorista que realizo el mantenimiento

status ObjectId Estado de ejecución del

mantenimiento

Tabla 9. Colección maintenances

Nombre colección: controls

Descripción: Guarda los datos sobre la programación de horarios de los mantenimientos preventivos

Campo Tipo de dato Descripción

stocks_id ObjectId Identificador del equipo que está en el inventario

check_id ObjectId Identificador del control

date_schedules Date Fecha programada del mantenimiento preventivo

user_id ObjectId Identificador del laboratorista que realiza la programación

status ObjectId Estado de ejecución del

mantenimiento preventivo

update Date Fecha de última actualización

Tabla 10. Colección controls

Nombre colección: schedules

Descripción: Almacena los datos de los horarios de los laboratorios

Campo Tipo de dato Descripción

semester ObjectId Identificador del semestre del horario de laboratorio

year String Año del horario de laboratorio

date Date Fecha que se realiza el horario de

laboratorio

day ObjectId Identificador del día que se utiliza algún laboratorio

hour ObjectId Hora que se utiliza algún laboratorio

laboratory_id ObjectId Identificador del laboratorio

career ObjectId Identificador del proyecto curricular

teacher ObjectId Identificador del docente

subject ObjectId Identificador de la materia

creator ObjectId Identificador del usuario que registra la programación

57

status ObjectId Estado del horario de laboratorio

created Date Fecha de creación del registro

updated Date Fecha de última actualización

Tabla 11. Colección schedules

Nombre colección: requests

Descripción: Guarda información referente a las solicitudes de práctica

Campo Tipo de dato Descripción

consecutive Number Consecutivo de la solicitud de práctica

user_id ObjectId Identificador del usuario o docente que realiza la solicitud de práctica

date_created Date Fecha de creación del registro

year String Año de creación del registro

semester ObjectId Identificador del semestre

day ObjectId Identificador del día que se programa

la solicitud de práctica

hour ObjectId Identificador del bloque de hora que

se programa la solicitud de práctica practice_type ObjectId Identificador del tipo de práctica practice_guided ObjectId Identificador de la práctica guiada

practice_name String Nombre de la práctica

laboratory_id ObjectId Identificar del laboratorio donde se va realizar la práctica

date_request Date Fecha de creación de la solicitud de práctica

observations String Observaciones de la solicitud de práctica

user_receives ObjectId Identificador del laboratorista que recibe la solicitud de práctica

state ObjectId Estado de ejecución de la solicitud

Tabla 12. Colección requests

Nombre colección: practices

Descripción: Almacena los datos referentes a las solicitudes de materiales

Campo Tipo de dato Descripción

requests_id ObjectId Identificador de la solicitud de práctica asociada

university String Nombre de la universidad

subject_id ObjectId Identificador de la materia

users ObjectId Identificador de los usuarios para la solicitud de material

58 equipment [{ stocks_id: ObjectId, delivery: ObjectId, receives: ObjectId }]

Materiales, equipos e insumos. (Identificador del equipo que está en el inventario, identificador del usuario que recibe los materiales e identificador del laboratorista que entrega los materiales)

observation String Observaciones de la solicitud de material

status ObjectId Estado de ejecución de la solicitud de material

update Date Fecha de última actualización

Tabla 13. Colección practices