Общее описание системы студентов

Есть список курсов — условно курс по SQL, по API итд.

 

У каждого курса есть N потоков. На каждом потоке N студентов и 1 тренер.

  • Студент может быть записан на несколько курсов

  • Тренер может вести несколько курсов

  • Студент может быть выпускником / не быть (не сдал экзамен)

  • Студент может быть “возвратником”, если вернул все деньги или их часть

 

Условно, есть курс по SQL:

  • 1 поток стартовал 1 января — там было 15 студентов, 2 из них сделали возврат денег (не понравилось учиться)

  • 2 поток стартовал 2 февраля — там было 30 студентов, 0 возвратов 

  • 3 поток стартовал 15 февраля — там было 3 студента, 1 возврат

 

И мы можем в системе смотреть эту всю инфу — кто вел успешный курс (Тренер Вася), кто вел поток, на котором было много отказов…