@arab789

Правильная архитектура БД игрового портала?

Делаю игровой портал, и прошу совета как правильно сделать БД для выборки жанров игр. Сайт делится на n количество платформ и в каждой платформе m жанров. Проблема в динамическом построении структуры меню с жанрами. Одна и та же игра может быть на разных платформах, если игры нет на какой-то платформе, то в этой платформе не нужно выводить название жанры, если игр таких нет.
Я создал таблицу с платформами и жанрами, в которую пишу сколько игр относиться к каждому жанру данной к данной платформе. Но возникает трудность учета при редактировании данных о игре. Если мы удаляем жанр из игры или просто обновляем, то нужно перед изменением проверять данный и решать, добавлять или удалять данные из таблицы жанров.
Может есть более красивый способ решить данную задачу?
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 2
zo0m
@zo0m
full stack developer
Я возможно слегка запутался в тексте, надеюсь ниже вы найдете ответ:

Сначала создадим сами сущности:

Таблица_Игра : id | name | ...
Таблица_Платформа : id | name| ...
Таблица_Жанр : id | name | ...

Теперь связи:
(т.к. у нас многие ко многим, то связи будут строиться через третью таблицу)

Таблица_Игра_Жанр : id_игры | id_жанра
Таблица_Игра_Платформа : id_игры | id_платформы

- - - - - - - - - -

По такой базе можно собирать любую статистику, главное не забывать каскадно удалять(например при удалении Игры, нужно удалить все записи из Таблица_Игра_Жанр и Таблица_Игра_Платформа, в которых id_игры совпадает с тем что мы удаляем)
Ответ написан
w999d
@w999d
Web-developer
Возьмите postgresql и hstore
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы