Modelo de datos - Luis-Ant/Stratrooms GitHub Wiki
Modelo de datos
1.1 Entidades principales
Las entidades principales se describen en tablas con sus atributos, incluyendo información sobre obligatoriedad, tipo de llave y restricciones.
Tabla: Sucursales (sedes)
Representa las secciones o grupos dentro de un curso.
Nombre del atributo | Nemónico en la base de datos | Tipo de dato | Tipo de atributo | Tipo de llave | Tamaño | Descripción |
---|---|---|---|---|---|---|
Identificador de sección | idSede | Serial | Obligatorio | Primaria | - | Identificador único de la sede. |
Nombre de la sección | nombreSede | Character varying | Obligatorio | Ninguna | 100 | Nombre descriptivo de la sede. |
Dirección | direccionSede | Text | Opcional | Ninguna | 200 | Descripción detallada de la sede. |
Fecha de creación | created_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de creación del registro. |
Fecha de actualización | updated_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de última actualización. |
Logo | logoUrl | Character varying | Obligatorio | Ninguna | 255 | Logo representativo de la sede. |
Tabla: Usuarios (usuarios)
Almacena información de administradores, profesores y alumnos.
Nombre del atributo | Nemónico en la base de datos | Tipo de dato | Tipo de atributo | Tipo de llave | Tamaño | Descripción |
---|---|---|---|---|---|---|
Identificador de usuario | idUsuario | Serial | Obligatorio | Primaria | - | Identificador único del usuario. |
Tipo de usuario | tipoUsuario | Character varying | Obligatorio | Ninguna | 20 | Rol del usuario (admin, profesor, alumno). |
Nombre | nombreUsuario | Character varying | Obligatorio | Ninguna | 50 | Nombre del usuario. |
Apellido paterno | apllPatUsuario | Character varying | Obligatorio | Ninguna | 50 | Apellido paterno del usuario. |
Apellido materno | apllMatUsuario | Character varying | Opcional | Ninguna | 50 | Apellido materno del usuario. |
Correo electrónico | Character varying | Obligatorio | Ninguna | 100 | Correo electrónico del usuario. | |
Contraseña | password | Character varying | Obligatorio | Ninguna | 255 | Contraseña cifrada del usuario. |
Fecha de creación | created_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de creación del registro. |
Fecha de actualización | updated_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de última actualización. |
Imagen | imgUrlUsuario | Character varying | Obligatorio | Ninguna | 255 | Imagen representativa del usuario. |
Tabla: Cursos (cursos)
Representa los cursos ofrecidos (inglés, francés, Excel, regularización).
Nombre del atributo | Nemónico en la base de datos | Tipo de dato | Tipo de atributo | Tipo de llave | Tamaño | Descripción |
---|---|---|---|---|---|---|
Identificador de curso | idCurso | Serial | Obligatorio | Primaria | - | Identificador único del curso. |
Identificador de profesor | idProfesor | Integer | Obligatorio | Foránea | - | ID del profesor que imparte el curso |
Identificador de la materia | idMateria | Integer | Obligatorio | Foránea | - | ID de la materia que se imparte |
Identificador de la sede | idSede | Integer | Obligatorio | Foránea | - | ID de la sede donde se imparte |
Nombre del curso | nombreCurso | Character varying | Obligatorio | Ninguna | 100 | Nombre del curso. |
Descripción del curso | descripcionCurso | Text | Opcional | Ninguna | - | Descripción detallada del curso. |
Fecha de creación | created_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de creación del registro. |
Fecha de actualización | updated_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de última actualización. |
Tabla: Materia (materia)
Almacena los materiales educativos subidos por los profesores.
Nombre del atributo | Nemónico en la base de datos | Tipo de dato | Tipo de atributo | Tipo de llave | Tamaño | Descripción |
---|---|---|---|---|---|---|
Identificador de la materia | idMateria | Serial | Obligatorio | Primaria | - | Identificador único del material. |
Nombre del material | nombreMateria | Character varying | Obligatorio | Ninguna | 100 | Tipo de material (video, documento). |
Descripción de la materia | descripcionMateria | Text | Obligatorio | Ninguna | - | URL del archivo en el sistema. |
Fecha de creación | created_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de creación del registro. |
Fecha de actualización | updated_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de última actualización. |
Tabla: Tareas (tareas)
Representa las tareas asignadas por los profesores.
Nombre del atributo | Nemónico en la base de datos | Tipo de dato | Tipo de atributo | Tipo de llave | Tamaño | Descripción |
---|---|---|---|---|---|---|
Identificador de tarea | idTarea | Serial | Obligatorio | Primaria | - | Identificador único de la tarea. |
Identificador de curso | idCurso | Integer | Obligatorio | Foránea | - | ID del curso al que pertenece. |
Título de la tarea | tituloTarea | Character varying | Obligatorio | Ninguna | 100 | Título de la tarea. |
Descripción de la tarea | descripcionTarea | Text | Opcional | Ninguna | - | Descripción detallada de la tarea. |
Fecha de subida | fechaSubidaTarea | Timestamp | Obligatorio | Ninguna | - | Fecha en que se asigna la tarea |
Fecha de entrega | fechaEntregaTarea | Timestamp | Obligatorio | Ninguna | - | Fecha límite para la entrega. |
Estado de la tarea | estadoTarea | Character varying | Obligatorio | Ninguna | 10 | Estado en que se encuentra la tarea |
Archivo adjunto | archivoTarea | Character varying | Obligatorio | Ninguna | 255 | Archivo que contiene la tarea |
Fecha de creación | created_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de creación del registro. |
Fecha de actualización | updated_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de última actualización. |
Tabla: Entregas (entregas)
Almacena las entregas de tareas por parte de los alumnos.
Nombre del atributo | Nemónico en la base de datos | Tipo de dato | Tipo de atributo | Tipo de llave | Tamaño | Descripción |
---|---|---|---|---|---|---|
Identificador de entrega | idEntrega | Serial | Obligatorio | Primaria | - | Identificador único de la entrega. |
Identificador de tarea | idTarea | Integer | Obligatorio | Foránea | - | ID de la tarea entregada. |
Identificador de alumno | idAlumno | Integer | Obligatorio | Foránea | - | ID del alumno que entrega. |
Fecha de entrega | fechaTareaEntrega | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de la entrega. |
Calificación | calificacionEntrega | Numeric | Opcional | Ninguna | 5,2 | Calificación asignada por el profesor. |
Fecha de creación | created_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de creación del registro. |
Fecha de actualización | updated_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de última actualización. |
Archivo adjunto | archivoEntrega | Character varying | Obligatorio | Ninguna | 255 | Archivo que contiene la tarea |
Comentarios del profesor | ComentarioProfesorEntrega | Text | Obligatorio | Ninguna | - | Comentarios que realiza el profesor |
Tabla: Inscripciones (inscripciones)
Nombre del atributo | Nemónico en la base de datos | Tipo de dato | Tipo de atributo | Tipo de llave | Tamaño | Descripción |
---|---|---|---|---|---|---|
Identificador de inscripción | idInscripcion | Serial | Obligatorio | Primaria | - | ID de la inscripción al que pertenece. |
Identificador de curso | idCurso | Integer | Obligatorio | Foránea | - | ID del curso al que pertenece. |
Identificador del alumno | idAlumno | Integer | Obligatorio | Foránea | - | ID del alumno que entrega. |
Fecha de creación | created_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de creación del registro. |
Fecha de actualización | updated_at | Timestamp | Obligatorio | Ninguna | - | Fecha y hora de última actualización. |