Database
 sql >> база данни >  >> RDS >> Database

Моделиране на отворен пазар за образование

Поддържането на най-новите промени в технологиите е необходимо, ако искате да напреднете на днешния конкурентен пазар на труда. В тази статия ще изградим модел на данни за онлайн портали, които предлагат по-ангажираща платформа за изучаване на нови умения, като използваме местните монаси като наше ръководство.

Въведение

В една от последните ни статии изградихме работещ модел на данни за портал за електронно обучение и обяснихме как курсовете могат да бъдат разделени на записани/преписни уроци и да бъдат предоставени на студентите. Въпреки това, има някои, които биха предпочели да се учат директно от учителите в по-ангажиращи, лични сесии. За разлика от платформи като Udemy и Coursera, Native Monks позволява на учениците да наемат учители (локално или онлайн) и да научават умения директно от тях в индивидуални класове, които се администрират онлайн или лично.

Изисквания

Тъй като платформата позволява на учениците да търсят учители според собствените си критерии, тя поставя голям акцент върху изграждането на профили на учителите. С други думи, платформата събира възможно най-много информация от учителите, за да може да предостави по-добри препоръки за търсене на учениците.

Учителите в платформата могат да се специализират във всяка област, като технология, готвене, изкуства, поддръжка и обслужване и т.н. Умения, които изискват много работа и обяснения, често се преподават на студентите лично, докато тези, които са относително прости, се администрират по-добре онлайн чрез видеолекции, които студентите могат да закупят от избраните от тях инструктори.

Имайки предвид тези изисквания, ние разделихме целия си модел на данни на три основни предметни области:

  1. Изграждане на профили за учители
  2. Управление на учениците и ангажименти
  3. Управление на записаните уроци

Нека разгледаме по-отблизо всяка от тези области.

Модел на данни




Предметна област №1:Изграждане на профили за учители

Тази област на платформата се отнася до събирането на основна информация от учителите, като техните предпочитания за ученици, местоположение, наличност, ниво на комфорт и т.н. Когато учениците разглеждат платформата, им се показва списък с учители, които най-добре отговарят на дадените им предпочитания. В тази област има различни таблици, които ще обсъдим по-долу.

teacher таблица:съхранява основна информация за инструкторите. Повечето от колоните в тази таблица са обясними сами по себе си, но нека да разгледаме по-подробно няколко, които може да не са толкова очевидни:

  • max_travel_distance — представлява максималното разстояние, което учителят може да измине, за да се срещне с ученик. Стойност нула показва, че учителят не може да пътува, за да преподава ученици.
  • cost_to_travel — съхранява стойност, подадена от учител, обозначаваща допълнителните такси, които ще наложат за пътуване за среща с ученик.
  • profile_image — съхранява профилната снимка на учителя. Тъй като от учителите не се изисква да публикуват снимки на потребителски профили, стойността по подразбиране е нула, ако не е посочена алтернатива.
  • teaching_since — съхранява стойност, представляваща годината, в която инструкторът е започнал да преподава. Това позволява на учениците да получат по-добро усещане за опита на учителя.
  • brief_description — съхранява кратко описание за учителя.
  • timezone_id — съхранява информацията за часовата зона за учител, позволявайки на учениците и

teacher_teaching_location таблица:съхранява предпочитанията за местоположение на учителя, които той трябва да посочи при изграждането на своя профил. Някои учители предпочитат да администрират уроци на собствено място или в мястото на своя ученик, но други биха предпочели да държат лекции на обществено място, като близката библиотека или читалище.

  • id — първичният ключ за тази таблица.
  • teacher_id — идентифицира учителя, на когото принадлежат тези предпочитания за местоположение.
  • teaching_location_type_id — типа място, където учителят би искал да администрира урока:онлайн, мястото на учителя, мястото на ученика или някакво неутрално място.
  • address_id — реферирана колона, която съхранява пълния адрес на мястото на срещата.

exp_level_teach_teacher таблица:учителите също са помолени да посочат нивата на експертиза, на които им е удобно да преподават (начинаещи, средно напреднали, експертни).

student_comfortability таблица:някои учители се чувстват неудобно да преподават на определени възрастови групи, като възрастните хора. По този начин порталът позволява на учителите да изброят и своите предпочитания към учениците по отношение на възрастта и пола.

teacher_availability таблица:съхранява наличността на учителя за следващите две седмици и до един месец предварително. Тези подробности се променят от учителите периодично.

  • id — първичният ключ за тази таблица.
  • teacher_id — идентифицира учителя, за когото се съхранява тази информация.
  • start_date_time — съхранява началната дата и час, когато учителят е на разположение за преподаване.
  • duration_in_min — показва колко време има инструкторът за преподаване, в минути.

teacher_earning таблица:съхранява тарифите за таксуване за учители. Засега създадохме колони, за да посочим тарифите за таксуване за 30-, 60-, 90- и 120-минутни лекции.

Предметна област № 2:Управление на студентите и ангажименти

Тази област е посветена на следенето на срещите между ученици и учители. Подобно на таблицата за учители в първата предметна област, има таблица за ученици (подходящо наименование student ) в тази предметна област. Всички колони в тази таблица са доста ясни, така че няма да се гмуркаме в тях.

Друга таблица е озаглавена teacher_reservation . Това е действителната таблица, която проследява срещите между ученици и учители. Когато ученик избере конкретен учител, той може да види наличността на този инструктор. От тях се изисква да изберат един или повече налични слотове, за да направят резервация с учителя. Освен това ученикът трябва да посочи място за преподаване въз основа на предпочитанията за избрания от тях учител. След като ученикът попълни своята част от формуляра, резервацията се изпраща на учителя за преглед и одобрение. Нека изясним някои от колоните за тази таблица:

  • id — първичен ключ за таблицата. Придава уникална идентичност на индивидуална заявка за резервация.
  • student_id — идентифицира студента, който прави резервацията.
  • teacher_id — идентифицира учителя, за когото се иска резервацията.
  • teacher_teaching_location_id — съхранява информация за мястото, където ученикът би искал да посещава занятия. Това местоположение трябва да съвпада с едно от посочените от учителя в неговите предпочитания.

Предметна област №3:Управление на записаните уроци

Този портал позволява на учителите да качват записани уроци. Всяка сесия е маркирана с цена за абонамент, която студентите трябва да платят, преди да им бъде разрешено да присъстват. Всеки абонамент идва с дата на изтичане, така че сесията остава отворена за гледане, докато абонаментът на ученика изтече.

recorded_lesson таблица:съхранява основна информация за записаните сесии.

  • id — първичен ключ за таблицата, който присвоява уникален номер на отделен записан урок.
  • subject — съхранява темата или заглавието на урок.
  • lesson_category_id — референтна колона, която представлява категорията, към която принадлежи даден урок (напр. пътуване, готвене, физика и т.н.).
  • teacher_id — идентифицира инструктора, който е подготвил и качи този урок.
  • lesson_description — описателна колона, която съхранява кратко описание на урока.
  • video_location — обикновено видеоклиповете се съхраняват на сървърни файлови системи и техните местоположения се съхраняват в тази колона. Файловете се извикват и се предоставят на потребителите при поискване.
  • lesson_transcript — съхранявайте пълен препис на видеоклипа(ите) за този урок.
  • cost_to_subscribe — съхранява цената, която ученикът трябва да плати, за да се абонира за видеоклипа.

lesson_subscription таблица:съхранява основна информация за студентски абонаменти.

  • id — първичният ключ за тази таблица.
  • student_id — идентифицира ученика, който се е абонирал за този урок.
  • recorded_lesson_id — идентифицира урока, за който ученикът се е абонирал.
  • subscription_date — съхранява датата на започване на абонамента. Обикновено това е същата дата, когато е извършено плащането за абонамента.
  • is_lifetime_subscription — много уроци идват с доживотен абонамент, което означава, че урокът ще остане с вас завинаги, след като платите за урока. Ако стойността, съхранена в тази колона, е „Y“, няма дата на изтичане на абонамента.
  • subscription_expiring_on — съхранява датата на изтичане на абонамента. Ако е доживотен абонамент, тази колона съхранява стойност null.

Резюме

Ученето дава възможност на хората да напредват в кариерата си, да подобрят живота си и да преследват работата, която обичат. Това приложение ще помогне за намаляване на разликата между търсенето и предлагането за професионалисти и ще създаде общност за онлайн обучение, където всеки може да изследва, учи и преподава.

Какви допълнителни функции бихте искали да добавите към този модел на данни? Ще се радваме да чуем вашите мисли!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ScaleGrid вече е наличен в региона на Сидни AWS

  2. Как да инсталирате SQuirrel SQL клиент

  3. Най-добрите подходи за групирани общи суми

  4. Потенциални подобрения на ASPState

  5. Още подобрения на шоуплана? Да моля!