Дизайн базы данных для отслеживания потока пользователей - PullRequest
0 голосов
/ 16 февраля 2019

enter image description here enter image description here

Я хочу разработать систему отслеживания пользователей между различными моделями.Существует таблица модулей, которая связана с разделами, а разделы связаны с подразделами.Каждый подраздел может относиться к различным независимым таблицам.В независимых таблицах хранятся различные элементы (слайды, видео, тексты), через которые пользователь может проходить линейным потоком, подобно курсу Coursera.Поток будет предопределен нами, но может быть изменен нами.Таким образом, линейный поток между подразделами не может быть жестко закодирован.Мне также необходимо отслеживать прогресс пользователя в этих подразделах.

Например:

Подраздел может указывать на игровой стол, гдеuser_info, game_score, game_completion_date_time будут сохранены, или может быть случай, когда подраздел указывает на таблицу слайдов, в которой хранятся slide_text, slide_url и user_info.

Я хочу отслеживать изменения в этой таблицетак какой должен быть мой подход.Ниже я разместил изображение, на котором я подхожу к проблеме.

1 Ответ

0 голосов
/ 18 февраля 2019

Вы можете создать таблицу 'courseflows' с порядком, представляющим собой последовательность разделенных запятыми целых чисел для идентификаторов в правильном порядке, а затем проанализировать эту последовательность при представлении разделов пользователю.Добавьте любую другую необходимую вам информацию и временную метку, чтобы новым пользователям был назначен самый последний поток.Связав это, вы также можете сохранить любой пользовательский поток на случай, если вы измените его, пока пользователи находятся на полпути.

Я бы также рассмотрел возможность использования различных вторичных таблиц для обозначения завершения пользователем каждого модуля, раздела и подраздела вместотолько один.

...