Я работаю над приложением, которое отслеживает, какие телешоу вы смотрите и какие эпизоды из этого шоу вы смотрели.
В настоящее время я могу отслеживать, какие пользователи смотрят какие шоу, это относительно просто и он структурирован так:
структура таблицы
Итак, у меня есть таблица User
с первичным ключом id
, который идентифицирует этого пользователя и некоторую другую информацию об этом пользователе, который не имеет значения.
После этого у меня есть другая таблица TV_SHOWS
, в которой user_id
в качестве внешнего ключа хранится некоторая информация о шоу и, что особенно важно, поле с именем user_watching
, которое дает логическое значение значение, определяющее, смотрит ли пользователь это шоу.
Как это работает: когда пользователь нажимает кнопку, чтобы добавить шоу, в таблицу TV_SHOWS
вставляется строка со всей информацией и user_watching = true
в какой-то момент пользователь может sh прекратить просмотр, чтобы он мог щелкнуть другую кнопку, которая просто обновит user_watching = false
.
Теперь я sh на ex pand на этой идее, чтобы пользователи могли отслеживать, какие сезоны и эпизоды телешоу они смотрели, телешоу состоит из множества сезонов, а каждый сезон в большинстве случаев состоит из множества эпизодов.
Я бы хотел несколько помогите с тем, как лучше всего структурировать эту схему базы данных.
Сначала я подумал, что могу просто расширить, например, по тем же направлениям, что и раньше:
Я просто добавляю два идентификатора для сезона и эпизода Таким образом, я могу определить, смотрел ли пользователь сезон, посмотрев, смотрели ли они все эпизоды в этом сезоне, и смотрели ли они шоу, проверив, смотрели ли они все сезоны в шоу, но я не Думаю, это хорошая практика.
Я мог бы попробовать составить одну таблицу для шоу, другую для сезонов и финал для эпизодов, но я не уверен, где бы я «отслеживал», если бы пользователь смотрел один из них, должен ли он быть в этой таблице c или мне понадобится другая таблица для его отслеживания?