sql >> Base de Datos >  >> RDS >> Database

Modelado de un mercado abierto para la educación

Mantenerse al día con los últimos cambios en tecnología es necesario si desea salir adelante en el competitivo mercado laboral actual. En este artículo, crearemos un modelo de datos para portales en línea que ofrecen una plataforma más atractiva para aprender nuevas habilidades, usando Native Monks como nuestra guía.

Introducción

En uno de nuestros artículos recientes, construimos un modelo de datos de trabajo para un portal de aprendizaje electrónico y explicamos cómo los cursos se pueden dividir en lecciones grabadas/transcritas y ponerlas a disposición de los estudiantes. Sin embargo, hay algunos que prefieren aprender directamente de los profesores en sesiones personales más interesantes. A diferencia de plataformas como Udemy y Coursera, Native Monks permite a los estudiantes contratar maestros (ya sea localmente o en línea) y aprender habilidades directamente de ellos en clases individuales que se administran en línea o en persona.

Requisitos

Dado que la plataforma permite a los estudiantes buscar profesores según sus propios criterios, pone mucho énfasis en la creación de perfiles para los profesores. En otras palabras, la plataforma recopila la mayor cantidad de información posible de los profesores para poder brindar mejores recomendaciones de búsqueda a los estudiantes.

Los profesores de la plataforma pueden especializarse en cualquier campo, como tecnología, cocina, artes, mantenimiento y servicio, etc. Las habilidades que requieren una gran cantidad de trabajo y explicación a menudo se enseñan a los estudiantes en persona, mientras que aquellas que son relativamente simples se administran mejor en línea a través de conferencias en video que los estudiantes pueden comprar de sus instructores seleccionados.

Con estos requisitos en mente, hemos dividido todo nuestro modelo de datos en tres áreas temáticas principales:

  1. Creación de perfiles para profesores
  2. Gestión de estudiantes y compromisos
  3. Gestión de lecciones grabadas

Echemos un vistazo más de cerca a cada una de estas áreas.

Modelo de datos




Área temática n.° 1:Creación de perfiles para docentes

Esta área de la plataforma se ocupa de recopilar información básica de los profesores, como sus preferencias para los estudiantes, la ubicación, la disponibilidad, el nivel de comodidad, etc. Cuando los estudiantes navegan por la plataforma, se les muestra una lista de profesores que mejor se adaptan a sus preferencias dadas. Hay una variedad de tablas en esta área que discutiremos a continuación.

teacher tabla:almacena información básica sobre los instructores. La mayoría de las columnas de esta tabla se explican por sí mismas, pero analicemos algunas que pueden no ser tan obvias:

  • max_travel_distance — representa la distancia máxima que un maestro puede viajar para encontrarse con un estudiante. Un valor de cero indica que el profesor no puede viajar para enseñar a los estudiantes.
  • cost_to_travel — almacena un valor enviado por un maestro que significa las tarifas adicionales que cobrará por viajar para reunirse con un estudiante.
  • profile_image — almacena la imagen de perfil de un profesor. Dado que los profesores no están obligados a publicar imágenes de perfil, el valor predeterminado es nulo si no se especifica una alternativa.
  • teaching_since — almacena un valor que representa el año en que el instructor comenzó a enseñar. Esto permite a los estudiantes tener una mejor idea de la experiencia de un maestro.
  • brief_description — almacena una breve descripción sobre el profesor.
  • timezone_id — almacena la información de la zona horaria de un profesor, lo que permite a los estudiantes y

teacher_teaching_location tabla:almacena las preferencias de ubicación de un profesor, que debe especificar al construir su perfil. Algunos maestros prefieren impartir lecciones en su propio lugar o en el lugar de sus alumnos, pero otros prefieren dar conferencias en un área pública, como una biblioteca cercana o un centro comunitario.

  • id — la clave principal para esta tabla.
  • teacher_id — identifica al profesor al que pertenecen estas preferencias de ubicación.
  • teaching_location_type_id — el tipo de ubicación donde el maestro le gustaría impartir la lección:en línea, el lugar del maestro, el lugar del estudiante o alguna ubicación neutral.
  • address_id — una columna referenciada que almacena la dirección completa del lugar de la reunión.

exp_level_teach_teacher tabla:también se pide a los profesores que especifiquen los niveles de experiencia en los que se sienten cómodos enseñando (principiante, intermedio, experto).

student_comfortability mesa:algunos profesores se sienten incómodos enseñando a ciertos grupos de edad, como los ancianos. Así, el portal permite a los docentes también enumerar sus preferencias para los estudiantes con respecto a la edad y el género.

teacher_availability table:almacena la disponibilidad del docente para las próximas dos semanas, y hasta con un mes de anticipación. Estos detalles son modificados por los profesores periódicamente.

  • id — la clave principal para esta tabla.
  • teacher_id — identifica al profesor para quien se almacena esta información.
  • start_date_time — almacena la fecha y hora de inicio cuando el profesor está disponible para enseñar.
  • duration_in_min — indica cuánto tiempo tiene el instructor para enseñar, en minutos.

teacher_earning tabla:almacena las tarifas de facturación para los profesores. Por ahora, hemos creado columnas para especificar las tarifas de facturación para conferencias de 30, 60, 90 y 120 minutos.

Área temática n.º 2:gestión y participación de los estudiantes

Esta área está dedicada a realizar un seguimiento de las citas entre estudiantes y profesores. Al igual que la mesa para profesores en la primera materia, hay una mesa para estudiantes (acertadamente llamada student ) en esta área temática. Todas las columnas de esta tabla son bastante sencillas, por lo que no nos sumergiremos en ellas.

Otra tabla se titula teacher_reservation . Esta es la tabla real que rastrea las citas entre estudiantes y profesores. Cuando un estudiante selecciona un maestro en particular, puede ver la disponibilidad de ese instructor. Deben seleccionar uno o más espacios disponibles para hacer una reserva con el profesor. Además, el estudiante debe especificar un lugar de enseñanza basado en las preferencias de su maestro seleccionado. Una vez que el estudiante completa su parte del formulario, la reserva se envía al maestro para su revisión y aprobación. Aclaremos algunas de las columnas de esta tabla:

  • id — la clave principal de la tabla. Da una identidad única a una solicitud de reserva individual.
  • student_id — identifica al estudiante que realiza la reserva.
  • teacher_id — identifica al profesor para el que se solicita la reserva.
  • teacher_teaching_location_id — almacena información sobre el lugar donde el estudiante le gustaría asistir a clases. Esta ubicación debe coincidir con una de las especificadas por el profesor en sus preferencias.

Área temática n.º 3:Gestión de lecciones grabadas

Este portal permite a los profesores cargar lecciones grabadas. Cada sesión está etiquetada con un costo de suscripción que los estudiantes deben pagar antes de poder asistir. Cada suscripción viene con una fecha de caducidad, por lo que una sesión permanece abierta para ver hasta que caduque la suscripción del estudiante.

recorded_lesson tabla:almacena información básica sobre las sesiones grabadas.

  • id — clave principal para la tabla que asigna un número único a una lección grabada individual.
  • subject — almacena la línea de asunto o el título de una lección.
  • lesson_category_id — una columna referenciada que representa la categoría a la que pertenece una lección (por ejemplo, viajes, cocina, física, etc.).
  • teacher_id — identifica al instructor que preparó y cargó esta lección.
  • lesson_description — columna descriptiva que almacena una breve descripción sobre la lección.
  • video_location — por lo general, los videos se almacenan en los sistemas de archivos del servidor y sus ubicaciones se almacenan en esta columna. Los archivos se invocan y se ponen a disposición de los usuarios cuando se solicitan.
  • lesson_transcript — almacene una transcripción completa de los videos de esta lección.
  • cost_to_subscribe — almacena el precio que un estudiante debe pagar para suscribirse al video.

lesson_subscription tabla:almacena información básica sobre las suscripciones de los estudiantes.

  • id — la clave principal para esta tabla.
  • student_id — identifica al estudiante que se suscribió a esta lección.
  • recorded_lesson_id — identifica la lección a la que se suscribió el estudiante.
  • subscription_date — almacena la fecha en que comenzó la suscripción. Por lo general, es la misma fecha en que se realizó el pago de la suscripción.
  • is_lifetime_subscription — muchas lecciones vienen con suscripción de por vida, lo que significa que una lección permanecerá contigo para siempre una vez que hayas pagado por la lección. Si el valor almacenado en esta columna es 'Y', no hay fecha de vencimiento para la suscripción.
  • subscription_expiring_on — almacena la fecha de caducidad de la suscripción. Si se trata de una suscripción de por vida, esta columna almacena un valor nulo.

Resumen

El aprendizaje empodera a las personas para avanzar en sus carreras, mejorar sus vidas y dedicarse al trabajo que aman. Esta aplicación ayudará a reducir la brecha entre la oferta y la demanda de profesionales y creará una comunidad de aprendizaje en línea donde cualquiera puede explorar, aprender y enseñar.

¿Qué características adicionales le gustaría agregar a este modelo de datos? ¡Nos encantaría escuchar tu opinión!