Что такое хорошая схема проектирования БД для продвинутой посещаемости? - PullRequest
0 голосов
/ 03 декабря 2018

Прежде всего, я прочитал этот пост Что такое хороший дизайн базы данных (схема) для базы данных посещаемости? , но она не соответствует моим потребностям, и я изо всех сил стараюсь адаптировать ее к своему сценарию..

Я постараюсь объяснить вкратце.

Давайте возьмем школу (вроде):

  • В школе есть курсы с начальной и конечной датой
  • Студенты могут быть "подписаны" на несколько курсов
  • Подписка не обязательна, начиная с начала и заканчивая в конце курса.
  • Студента можно посещать пунктуально (независимо от подписки) или переводить пунктуально на другой курс.

Я имел в виду этот дизайн:

enter image description here

Моя идея:

  • При точном переводе студента я могу изменить course_id
  • Я могу создать участника без subscription_id, по запросу

Моя проблема:
С этим дизайном,Это кажется слишком сложным, и чтобы увидеть, кто идет на курс, я вижу только два решения.

  1. Подсчитайте количество подписок, добавьте количество присутствующих участников, удалите количество отсутствующих участников.
  2. Используйте работника очереди, чтобы создать всех участников и подсчитать количество присутствующих.

Какой это был бы более простой способ или какую схему лучше использовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...