Database
 sql >> Datenbank >  >> RDS >> Database

Modellierung eines offenen Marktplatzes für Bildung

Wenn Sie auf dem heutigen wettbewerbsintensiven Arbeitsmarkt vorankommen möchten, müssen Sie mit den neuesten technologischen Veränderungen Schritt halten. In diesem Artikel erstellen wir ein Datenmodell für Online-Portale, die eine ansprechendere Plattform zum Erlernen neuer Fähigkeiten bieten, wobei wir Native Monks als Leitfaden verwenden.

Einführung

In einem unserer letzten Artikel haben wir ein funktionierendes Datenmodell für ein E-Learning-Portal erstellt und erklärt, wie Kurse in aufgezeichnete/transkriptierte Lektionen aufgeteilt und den Studenten zur Verfügung gestellt werden können. Es gibt jedoch einige, die es vorziehen, direkt von den Lehrern in ansprechenderen, persönlichen Sitzungen zu lernen. Im Gegensatz zu Plattformen wie Udemy und Coursera ermöglicht Native Monks den Schülern, Lehrer einzustellen (entweder lokal oder online) und Fähigkeiten direkt von ihnen in Einzelunterricht zu lernen, der entweder online oder persönlich durchgeführt wird.

Anforderungen

Da die Plattform es Studierenden ermöglicht, Lehrkräfte nach eigenen Kriterien zu suchen, legt sie großen Wert auf die Profilbildung von Lehrkräften. Mit anderen Worten, die Plattform sammelt so viele Informationen wie möglich von Lehrern, damit sie den Schülern bessere Suchempfehlungen geben kann.

Lehrer auf der Plattform können sich auf alle Bereiche spezialisieren, wie z. B. Technologie, Kochen, Kunst, Wartung und Service und so weiter. Fähigkeiten, die viel Arbeit und Erklärungen erfordern, werden den Schülern oft persönlich beigebracht, während relativ einfache besser online über Videovorlesungen verwaltet werden, die die Schüler von ihren ausgewählten Lehrern kaufen können.

Unter Berücksichtigung dieser Anforderungen haben wir unser gesamtes Datenmodell in drei Hauptthemenbereiche aufgeteilt:

  1. Profilbildung für Lehrer
  2. Studentenmanagement und -engagements
  3. Aufgezeichnete Unterrichtsverwaltung

Sehen wir uns jeden dieser Bereiche genauer an.

Datenmodell




Themenbereich Nr. 1:Profilbildung für Lehrkräfte

Dieser Bereich der Plattform betrifft das Sammeln grundlegender Informationen von Lehrern, wie z. B. ihre Präferenzen für Schüler, Standort, Verfügbarkeit, Komfortniveau usw. Wenn die Schüler die Plattform durchsuchen, wird ihnen eine Liste der Lehrer angezeigt, die ihren jeweiligen Präferenzen am besten entsprechen. Es gibt eine Vielzahl von Tabellen in diesem Bereich, die wir weiter unten besprechen werden.

teacher Tabelle:speichert grundlegende Informationen über Ausbilder. Die meisten Spalten in dieser Tabelle sind selbsterklärend, aber lassen Sie uns auf einige näher eingehen, die vielleicht nicht so offensichtlich sind:

  • max_travel_distance — stellt die maximale Entfernung dar, die ein Lehrer zurücklegen kann, um sich mit einem Schüler zu treffen. Ein Wert von null gibt an, dass der Lehrer nicht reisen kann, um Schüler zu unterrichten.
  • cost_to_travel — speichert einen von einem Lehrer übermittelten Wert, der die zusätzlichen Gebühren angibt, die er für die Reise zu einem Treffen mit einem Schüler erheben wird.
  • profile_image — Speichert das Profilbild eines Lehrers. Da Lehrer keine Profilbilder posten müssen, ist der Wert standardmäßig null, wenn keine Alternative angegeben wird.
  • teaching_since – speichert einen Wert, der das Jahr darstellt, in dem der Ausbilder mit dem Unterrichten begonnen hat. Dadurch können die Schüler ein besseres Gefühl für die Erfahrung eines Lehrers bekommen.
  • brief_description — speichert eine kurze Beschreibung des Lehrers.
  • timezone_id — speichert die Zeitzoneninformationen für einen Lehrer, sodass Schüler und

teacher_teaching_location Tabelle:Speichert die Standortpräferenzen eines Lehrers, die er beim Erstellen seines Profils angeben muss. Einige Lehrer ziehen es vor, den Unterricht an ihrem eigenen Ort oder bei ihren Schülern zu verwalten, andere halten Vorlesungen jedoch lieber in einem öffentlichen Bereich ab, z. B. in einer nahe gelegenen Bibliothek oder einem Gemeindezentrum.

  • id — der Primärschlüssel für diese Tabelle.
  • teacher_id — identifiziert den Lehrer, zu dem diese Standortpräferenzen gehören.
  • teaching_location_type_id — die Art des Ortes, an dem der Lehrer den Unterricht durchführen möchte:online, am Ort des Lehrers, am Ort des Schülers oder an einem neutralen Ort.
  • address_id — eine referenzierte Spalte, die die vollständige Adresse des Treffpunkts speichert.

exp_level_teach_teacher Tabelle:Die Lehrer werden auch gebeten, die Kompetenzstufen anzugeben, auf denen sie sich wohlfühlen (Anfänger, Mittelstufe, Experte).

student_comfortability Tabelle:Einigen Lehrern ist es unangenehm, bestimmte Altersgruppen zu unterrichten, z. B. ältere Menschen. So ermöglicht das Portal Lehrern, auch ihre Präferenzen für Schüler in Bezug auf Alter und Geschlecht aufzulisten.

teacher_availability Tabelle:speichert die Verfügbarkeit des Lehrers für die nächsten zwei Wochen und bis zu einem Monat im Voraus. Diese Details werden regelmäßig von den Lehrern geändert.

  • id — der Primärschlüssel für diese Tabelle.
  • teacher_id — identifiziert den Lehrer, für den diese Informationen gespeichert sind.
  • start_date_time — Speichert das Startdatum und die Uhrzeit, zu der der Lehrer für den Unterricht verfügbar ist.
  • duration_in_min — gibt an, wie viel Zeit der Ausbilder zum Unterrichten hat, in Minuten.

teacher_earning Tabelle:speichert Abrechnungssätze für Lehrer. Vorerst haben wir Spalten erstellt, um die Abrechnungssätze für 30-, 60-, 90- und 120-minütige Vorträge anzugeben.

Themenbereich Nr. 2:Studentenmanagement und -engagements

Dieser Bereich dient der Verfolgung von Terminen zwischen Schülern und Lehrern. Wie die Tabelle für Lehrer im ersten Fachbereich gibt es eine Tabelle für Schüler (passenderweise student ) in diesem Themenbereich. Alle Spalten in dieser Tabelle sind ziemlich einfach, daher gehen wir nicht näher darauf ein.

Eine weitere Tabelle trägt den Titel teacher_reservation . Dies ist die eigentliche Tabelle, die Termine zwischen Schülern und Lehrern verfolgt. Wenn ein Schüler einen bestimmten Lehrer auswählt, kann er die Verfügbarkeit dieses Lehrers sehen. Sie müssen einen oder mehrere verfügbare Slots auswählen, um eine Reservierung beim Lehrer vorzunehmen. Darüber hinaus muss der Schüler einen Unterrichtsort basierend auf den Präferenzen seines ausgewählten Lehrers angeben. Sobald der Schüler seinen Teil des Formulars ausgefüllt hat, wird die Reservierung zur Überprüfung und Genehmigung an den Lehrer gesendet. Lassen Sie uns einige der Spalten für diese Tabelle klären:

  • id — der Primärschlüssel für die Tabelle. Verleiht einer individuellen Reservierungsanfrage eine eindeutige Identität.
  • student_id — identifiziert den Schüler, der die Reservierung vornimmt.
  • teacher_id — identifiziert den Lehrer, für den die Reservierung angefordert wird.
  • teacher_teaching_location_id — speichert Informationen über den Ort, an dem der Schüler am Unterricht teilnehmen möchte. Dieser Standort muss mit einem der vom Lehrer in seinen Einstellungen angegebenen übereinstimmen.

Themenbereich Nr. 3:Verwaltung aufgezeichneter Lektionen

Dieses Portal ermöglicht es Lehrern, aufgezeichnete Unterrichtsstunden hochzuladen. Jede Sitzung ist mit einem Abonnementpreis gekennzeichnet, den die Schüler bezahlen müssen, bevor sie teilnehmen dürfen. Jedes Abonnement hat ein Ablaufdatum, sodass eine Sitzung zur Ansicht geöffnet bleibt, bis das Abonnement des Schülers abläuft.

recorded_lesson Tabelle:speichert grundlegende Informationen über aufgezeichnete Sitzungen.

  • id — Primärschlüssel für die Tabelle, die einer einzelnen aufgezeichneten Lektion eine eindeutige Nummer zuweist.
  • subject — speichert die Betreffzeile oder den Titel einer Lektion.
  • lesson_category_id — eine referenzierte Spalte, die die Kategorie darstellt, zu der eine Lektion gehört (z. B. Reisen, Kochen, Physik usw.).
  • teacher_id – identifiziert den Kursleiter, der diese Lektion vorbereitet und hochgeladen hat.
  • lesson_description — beschreibende Spalte, in der eine kurze Beschreibung der Lektion gespeichert ist.
  • video_location — Normalerweise werden Videos auf Serverdateisystemen gespeichert, und ihre Speicherorte werden in dieser Spalte gespeichert. Dateien werden aufgerufen und Benutzern auf Anfrage zur Verfügung gestellt.
  • lesson_transcript — Speichern Sie eine vollständige Abschrift des/der Videos für diese Lektion.
  • cost_to_subscribe – speichert den Preis, den ein Schüler bezahlen muss, um das Video zu abonnieren.

lesson_subscription Tabelle:speichert grundlegende Informationen über Studentenabonnements.

  • id — der Primärschlüssel für diese Tabelle.
  • student_id — identifiziert den Schüler, der diese Lektion abonniert hat.
  • recorded_lesson_id — gibt die Lektion an, die der Schüler abonniert hat.
  • subscription_date — speichert das Datum, an dem das Abonnement begonnen hat. Dies ist normalerweise das gleiche Datum, an dem die Zahlung für das Abonnement erfolgt ist.
  • is_lifetime_subscription – Viele Lektionen werden mit einem lebenslangen Abonnement geliefert, was bedeutet, dass eine Lektion für immer bei Ihnen bleibt, sobald Sie für die Lektion bezahlt haben. Wenn der in dieser Spalte gespeicherte Wert „Y“ ist, gibt es kein Ablaufdatum für das Abonnement.
  • subscription_expiring_on — speichert das Datum, an dem das Abonnement abläuft. Wenn es sich um ein lebenslanges Abonnement handelt, speichert diese Spalte den Wert null.

Zusammenfassung

Lernen befähigt Menschen, ihre Karriere voranzutreiben, ihr Leben zu verbessern und der Arbeit nachzugehen, die sie lieben. Diese Anwendung wird dazu beitragen, die Kluft zwischen Nachfrage und Angebot für Fachleute zu verringern, und eine Online-Lerngemeinschaft schaffen, in der jeder forschen, lernen und lehren kann.

Welche zusätzlichen Funktionen möchten Sie diesem Datenmodell hinzufügen? Wir würden gerne Ihre Meinung hören!