@LaraLover

Как лучше спроектировать БД?

Добрый день.
Подскажите как лучше организовать БД.
Суть следующая есть игра(что-то похожее на мафию), в ней:
1. Должны храниться айдишники игроков.
2. Должны храниться айдишники шпионов (зависит от кол-ва игроков в игре от 3 до 4
3. Результат игры, зависит от результата ходов.
В каждой игре есть 5 ходов:
1. В каждом ходе есть лидер
2. В каждом ходе делают действия от 2х до 3х игроков
3. Должен сохраняться результат хода (выиграли шпионы или нет)

Вариант пихать все в одну таблицу - плохой (или нет?). Можно перечислять айдишники в поле "участники", через запятую обернув в ## и запросы все составлять
->where('like', '=', '#'. $user->id. "#")

Как думаю сделать я.
Таблица игры. "id", 'result'
Таблица с участниками игры "game_id", 'spy', 'user_id'. В колонке spy true, false (шпион или нет)
Таблица c ходами "game_id", "round", 'leader', 'round_result'. Но как сюда записать игроков ходивших в раунде без ## ? Создавать еще одну таблицу? C 'game_id', 'round', 'user_id'?

Может есть еще какие-то варианты? В дальнейшем мне понадобиться делать выборки по игрокам, сколько раз играл, сколько у него побед, сколько раз был шпионом,лидером и тд.
С какой реализацией потом будет меньше всего проблем?
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
AndyKorg
@AndyKorg
Кнопконажиматель и припоерасплавлятель
Как-то так:
5d76187f160ab115353533.jpeg
Ответ написан
Ваш ответ на вопрос

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

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