Задать вопрос
@nevatas

Всё ли нормально в моей БД?

Здравствуйте, по своей специальности являюсь графическим дизайнером, решил немного расширить свой кругозор и выучить php/mysql. Что бы учиться на практике я поставил себе задачу разработать полный технический клон мобильной браузерной игры (ahero.ru). И уже на этапе проектировки БД возникло ощущение что я делаю что-то не так.

Вкратце изложу суть своей БД:
В игру играют пользователи (таблица: users), у каждого пользователя есть несколько персонажей(таблица: userchars), всего в игре их 12(таблица: chars), персонажи открываются по мере прохождения игры. В любой момент времени в отряде пользователя может быть не более трёх персонажей (отряд - активные персонажи, непосредственно участвующие в боях. За нахождение открытого персонажа в отряде отвечает поле active в таблице userchars).
У каждого пользователя имеется свой инвентарь (таблица useritems), предметы из которого могут быть надеты на персонажей пользователя (за предметы надетые на персонажа отвечает таблица charitems. В игре имеется 4 вида предметов - шлем, оружие, амулет и кольцо, т.е. на персонажа может быть надето макс. 4 предмета разных видов.). Таблица items - "база" всех имеющихся в игре предметов.
Таблицы items и chars - статичны.

3c1c793acabf4b3e8c567c5537091ac2.png

Наглядно посмотреть на всё это действо можно перейдя по ссылке.
И в общем - вопрос: нормально ли спроектирована данная часть бд? В основном из-за связи items - useritems - charitems не комфортно себя чувствую.
Заранее спасибо :)

P.S.: Извините за типы данных у полей таблиц (мне так удобней), и за отсутствие наглядных связей "один ко многим" (Проектировал в navicat, а там какая-то проблема со связями. Имеется лишь "один к одному")
  • Вопрос задан
  • 2607 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Loligan
Там где "Items" я как понимаю там много предметов. А где сама сущность предмета? А то в "Items" у вас получается только один предмет, а не инвентарь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы