Общее описание системы студентов
Есть список курсов — условно курс по SQL, по API итд.
У каждого курса есть N потоков. На каждом потоке N студентов и 1 тренер.
Студент может быть записан на несколько курсов
Тренер может вести несколько курсов
Студент может быть выпускником / не быть (не сдал экзамен)
Студент может быть “возвратником”, если вернул все деньги или их часть
Условно, есть курс по SQL:
1 поток стартовал 1 января — там было 15 студентов, 2 из них сделали возврат денег (не понравилось учиться)
2 поток стартовал 2 февраля — там было 30 студентов, 0 возвратов
3 поток стартовал 15 февраля — там было 3 студента, 1 возврат
…
И мы можем в системе смотреть эту всю инфу — кто вел успешный курс (Тренер Вася), кто вел поток, на котором было много отказов…