Я создаю приложение laravel для отслеживания кампаний в игре. Ситуация со структурой базы данных, которую я пытаюсь выяснить, включает в себя следующие таблицы:
Таблица кампании пуста.
Таблица символов заполняется данными персонажей из игры.
Таблица предметов заполняется данными предметов из игры.
Таблицы Персонажей и Предметов содержат данные самой игры и не должны заполняться пользовательскими данными.
Пользователь может создать новую кампанию, которая создаст запись в таблице Campaign.
Затем пользователь может выбрать персонажей для использования в кампании. Я могу создать это отношение с помощью таблицы ссылок campaign_character.
Проблема возникает, когда дело доходит до предметов. Предметы можно приобрести, после чего их нужно добавить в текущую кампанию. Я мог бы использовать для этого таблицу ссылок campaign_items, но элементы также могут быть дополнительно оснащены персонажами в кампании. Я не уверен, как справиться с этими отношениями.
Я не могу создать таблицу ссылок Character_item, потому что отношения не между персонажем и предметом напрямую, а между персонажем в кампании и предметом в кампании.
В настоящее время я думаю о том, чтобы создать таблицу ссылок campaign_character, таблицу ссылок campaign_item и таблицу ссылок campaign_character_campaign_item, но этот сценарий встречается много раз (не только с символами и элементами, например, символы могут затем добавлять вложения к элементам) и Я чувствую, что это приведет к множеству таблиц и сложных отношений.
Есть ли лучший способ справиться с этим или это правильный путь?
Спасибо за любые рекомендации