Database
 sql >> Baza danych >  >> RDS >> Database

Modelowanie otwartego rynku dla edukacji

Nadążanie za najnowszymi zmianami technologicznymi jest konieczne, jeśli chcesz wyprzedzić konkurencję na dzisiejszym konkurencyjnym rynku pracy. W tym artykule zbudujemy model danych dla portali internetowych, które oferują bardziej angażującą platformę do nauki nowych umiejętności, wykorzystując jako przewodnika Native Monks.

Wprowadzenie

W jednym z naszych ostatnich artykułów zbudowaliśmy działający model danych dla portalu e-learningowego i wyjaśniliśmy, w jaki sposób kursy można podzielić na nagrane/transkrypcyjne lekcje i udostępnić uczniom. Są jednak tacy, którzy wolą uczyć się bezpośrednio od nauczycieli podczas bardziej angażujących, osobistych sesji. W przeciwieństwie do platform takich jak Udemy i Coursera, Native Monks pozwala uczniom zatrudniać nauczycieli (lokalnie lub online) i uczyć się od nich umiejętności bezpośrednio na zajęciach jeden na jednego, które są administrowane online lub osobiście.

Wymagania

Ponieważ platforma umożliwia uczniom wyszukiwanie nauczycieli według własnych kryteriów, kładzie duży nacisk na budowanie profili nauczycieli. Innymi słowy, platforma zbiera jak najwięcej informacji od nauczycieli, aby zapewnić uczniom lepsze rekomendacje wyszukiwania.

Nauczyciele na platformie mogą specjalizować się w dowolnej dziedzinie, takiej jak technologia, gotowanie, sztuka, konserwacja i serwis i tak dalej. Umiejętności, które wymagają wiele pracy i wyjaśnień, są często nauczane osobiście przez uczniów, podczas gdy te, które są stosunkowo proste, są lepiej zarządzane online za pośrednictwem wykładów wideo, które uczniowie mogą kupić od wybranych instruktorów.

Mając na uwadze te wymagania, podzieliliśmy cały nasz model danych na trzy główne obszary tematyczne:

  1. Tworzenie profilu dla nauczycieli
  2. Zarządzanie uczniami i zaangażowanie
  3. Zarządzanie nagranymi lekcjami

Przyjrzyjmy się bliżej każdemu z tych obszarów.

Model danych




Obszar tematyczny nr 1:Tworzenie profili nauczycieli

Ten obszar platformy dotyczy zbierania podstawowych informacji od nauczycieli, takich jak ich preferencje względem uczniów, lokalizacja, dostępność, poziom komfortu i tak dalej. Kiedy uczniowie przeglądają platformę, pokazywana jest im lista nauczycieli, którzy najlepiej odpowiadają ich preferencjom. W tym obszarze istnieje wiele różnych tabel, które omówimy poniżej.

teacher tabela:przechowuje podstawowe informacje o instruktorach. Większość kolumn w tej tabeli nie wymaga wyjaśnień, ale omówimy kilka, które mogą nie być tak oczywiste:

  • max_travel_distance — oznacza maksymalną odległość, jaką nauczyciel może przebyć, aby spotkać się z uczniem. Wartość zero wskazuje, że nauczyciel nie może podróżować, aby uczyć uczniów.
  • cost_to_travel — przechowuje wartość przesłaną przez nauczyciela, oznaczającą dodatkowe opłaty, które będą pobierać za podróż na spotkanie z uczniem.
  • profile_image — przechowuje zdjęcie profilowe nauczyciela. Ponieważ nauczyciele nie są zobowiązani do publikowania zdjęć profilowych, wartość domyślna to null, jeśli nie określono alternatywy.
  • teaching_since — przechowuje wartość reprezentującą rok, w którym instruktor rozpoczął nauczanie. Pozwala to uczniom lepiej wyczuć doświadczenie nauczyciela.
  • brief_description — przechowuje krótki opis nauczyciela.
  • timezone_id — przechowuje informacje o strefie czasowej nauczyciela, umożliwiając uczniom i

teacher_teaching_location tabela:przechowuje preferencje lokalizacji nauczyciela, które musi określić podczas budowania swojego profilu. Niektórzy nauczyciele wolą organizować lekcje we własnym miejscu lub u swoich uczniów, ale inni wolą prowadzić wykłady w miejscach publicznych, takich jak pobliska biblioteka lub dom kultury.

  • id — klucz podstawowy dla tej tabeli.
  • teacher_id — identyfikuje nauczyciela, do którego należą te preferencje dotyczące lokalizacji.
  • teaching_location_type_id — rodzaj lokalizacji, w której nauczyciel chciałby zarządzać lekcją:online, miejsce nauczyciela, miejsce ucznia lub jakieś neutralne miejsce.
  • address_id — kolumna odniesienia, która przechowuje pełny adres miejsca spotkania.

exp_level_teach_teacher tabela:nauczyciele proszeni są również o określenie poziomów wiedzy, na których mogą swobodnie uczyć (początkujący, średniozaawansowany, ekspert).

student_comfortability tabela:niektórzy nauczyciele czują się niekomfortowo ucząc pewnych grup wiekowych, takich jak osoby starsze. Tym samym portal umożliwia nauczycielom również wypisanie swoich preferencji dla uczniów ze względu na wiek i płeć.

teacher_availability tabela:przechowuje dostępność lektora na najbliższe dwa tygodnie i do miesiąca z góry. Te szczegóły są okresowo modyfikowane przez nauczycieli.

  • id — klucz podstawowy dla tej tabeli.
  • teacher_id — identyfikuje nauczyciela, dla którego te informacje są przechowywane.
  • start_date_time — przechowuje datę i godzinę rozpoczęcia, kiedy nauczyciel jest dostępny do nauczania.
  • duration_in_min — wskazuje w minutach, ile czasu instruktor ma na nauczanie.

teacher_earning tabela:przechowuje stawki rozliczeniowe dla nauczycieli. Na razie utworzyliśmy kolumny, w których określamy stawki rozliczeniowe za wykłady 30-, 60-, 90- i 120-minutowe.

Obszar tematyczny nr 2:Zarządzanie studentami i ich zaangażowanie

Ten obszar jest przeznaczony do śledzenia spotkań między uczniami i nauczycielami. Podobnie jak tabela dla nauczycieli w pierwszym obszarze przedmiotowym, istnieje tabela dla uczniów (trafnie nazwana student ) w tej dziedzinie. Wszystkie kolumny w tej tabeli są dość proste, więc nie będziemy się nimi zagłębiać.

Kolejna tabela nosi tytuł teacher_reservation . To jest rzeczywista tabela, która śledzi spotkania między uczniami i nauczycielami. Kiedy uczeń wybiera konkretnego nauczyciela, widzi jego dostępność. Muszą wybrać jedno lub więcej dostępnych miejsc, aby dokonać rezerwacji u nauczyciela. Ponadto uczeń musi określić lokalizację nauczania w oparciu o preferencje wybranego nauczyciela. Gdy uczeń wypełni swoją część formularza, rezerwacja jest wysyłana do nauczyciela w celu sprawdzenia i zatwierdzenia. Wyjaśnijmy niektóre kolumny w tej tabeli:

  • id — klucz podstawowy tabeli. Nadaje niepowtarzalną tożsamość indywidualnemu żądaniu rezerwacji.
  • student_id — identyfikuje ucznia dokonującego rezerwacji.
  • teacher_id — identyfikuje nauczyciela, dla którego prosi się o rezerwację.
  • teacher_teaching_location_id — przechowuje informacje o miejscu, w którym uczeń chciałby uczęszczać na zajęcia. Ta lokalizacja musi odpowiadać jednej z tych określonych przez nauczyciela w jego preferencjach.

Obszar tematyczny 3:Zarządzanie nagranymi lekcjami

Ten portal umożliwia nauczycielom przesyłanie nagranych lekcji. Każda sesja jest oznaczona kosztem subskrypcji, który studenci muszą zapłacić, zanim będą mogli uczestniczyć. Każda subskrypcja ma datę wygaśnięcia, więc sesja pozostaje otwarta do oglądania do momentu wygaśnięcia subskrypcji studenta.

recorded_lesson tabela:przechowuje podstawowe informacje o nagranych sesjach.

  • id — klucz główny tabeli, który przypisuje unikalny numer do indywidualnej nagranej lekcji.
  • subject — przechowuje temat lub tytuł lekcji.
  • lesson_category_id — kolumna odniesienia, która reprezentuje kategorię, do której należy lekcja (np. podróże, gotowanie, fizyka itp.).
  • teacher_id — identyfikuje instruktora, który przygotował i przesłał tę lekcję.
  • lesson_description — kolumna opisowa, która przechowuje krótki opis lekcji.
  • video_location — zazwyczaj filmy są przechowywane w systemach plików serwera, a ich lokalizacje są przechowywane w tej kolumnie. Pliki są wywoływane i udostępniane użytkownikom na żądanie.
  • lesson_transcript — przechowaj pełną transkrypcję filmu (filmów) z tej lekcji.
  • cost_to_subscribe — przechowuje cenę, którą uczeń musi zapłacić, aby zasubskrybować wideo.

lesson_subscription tabela:przechowuje podstawowe informacje o subskrypcjach studenckich.

  • id — klucz podstawowy dla tej tabeli.
  • student_id — identyfikuje ucznia, który zapisał się na tę lekcję.
  • recorded_lesson_id — identyfikuje lekcję, na którą zapisał się uczeń.
  • subscription_date — przechowuje datę rozpoczęcia subskrypcji. Zwykle jest to ta sama data, w której dokonano płatności za subskrypcję.
  • is_lifetime_subscription — wiele lekcji jest objętych dożywotnią subskrypcją, co oznacza, że ​​lekcja pozostanie z Tobą na zawsze po opłaceniu lekcji. Jeśli wartość przechowywana w tej kolumnie to „Y”, nie ma daty wygaśnięcia subskrypcji.
  • subscription_expiring_on — przechowuje datę wygaśnięcia subskrypcji. Jeśli jest to subskrypcja dożywotnia, ta kolumna przechowuje wartość null.

Podsumowanie

Nauka daje ludziom możliwość rozwijania kariery, poprawy życia i wykonywania pracy, którą kochają. Ta aplikacja pomoże zmniejszyć różnicę między popytem a podażą dla profesjonalistów i stworzy internetową społeczność edukacyjną, w której każdy może odkrywać, uczyć się i nauczać.

Jakie dodatkowe funkcje chciałbyś dodać do tego modelu danych? Chętnie poznamy Twoje przemyślenia!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. To nie ty, to ja (rozwiązywanie problemów we/wy)

  2. Ogłaszamy ogólną dostępność SQL Compliance Manager 5.9

  3. Jak zmienić tekst na małe litery w SQL?

  4. Ulepszenia Showplan dla UDF

  5. Jak utworzyć jedną tabelę z innej tabeli w SQL?