Строится все на базе mysql.
Имеется курсы у которых есть модули, а уже у этих моделей есть 1 и боле тестов.
Пример таблиц курсов:
course
id
- module
id
course_id
-- test
id
module_id
Проблема идет дальше, эти курсы могут выбирать пользователи, и у курсов, модулей, тестов есть свои статусы, пройден или нет, у меня получились такие таблицы:
user
id
- user_course
id
user_id
course_id
status
-- user_module
id
user_course_id
module_id
status
--- user_test
id
user_module_id
test_id
status
Насколько это правильно? Сейчас получается так, что если добавить в курс новый модуль, а он уже был выбран пользователем, то уже нужно это на бэкенде отслеживать и добавлять всем пользователям новый модуль.
Может есть другие варианты проектирования базы?