Модель базы данных - турниры для киберспорта - PullRequest
0 голосов
/ 14 декабря 2018

Я довольно новичок в моделировании баз данных и немного борюсь со своей структурой Турнирного модуля.

, следующий за , - это то, что мне удалось прийтидо пока : Нажмите здесь

Обзор :

  1. (ТАБЛИЦА) Сезоны - Все турниры / лиги / лестницы подпадают под него.Простые и простые.
  2. (TABLE) Турниры:
    • Относительно «родителя» -> сезонов через season_id
    • Формат турнира - разрешить 1vs1 или командное участие.
    • Тип турнира -как следует из названия: турнир, лига, турнир
    • Остальные в Турнирах довольно понятны, поэтому я пропущу это.
      1. (SUB-TABLE) Турнирные записи - 1 Строка таблицы за Каждый участвующий игрок, И команда (Если формат основан на команде),Модерируется с колонкой is_team (= 0, означает вход игрока).
      2. (SUB-TABLE) Турнирные матчи - подключен к Турнирам через entry_id-> турнир_ид (возможно?).Столбцы team A & B заполняются на основе entry_id-> is_team (Когда 0 назначает entry_id-> player_id в противном случае entry_id-> team_id ).
  3. (TABLE) Статистика игрока - 1 Строка таблицы за Каждая команда, сыгранная в течениеТурнир => означает, что игрок может:
    1. Передать команды в тот же турнир.
    2. Просмотр предыдущая записанная статистика за времяон играл за них.

Я борюсь за структурирование текущей стадии / фазы турнира, плей-офф, групп, одиночного / двойного исключения, сетки проигравших и раунда.Робин.Кроме того, как отслеживать «Лучшие из» матчей.Как мне это отследить и создать совпадения (новые и основанные на предыдущих результатах)?Кроме того, правильны и эффективны мои созданные отношения и индексы?

ПРИМЕЧАНИЕ: не обращайте внимания на типы полей, они будут реорганизованы.

Заранее спасибо!

...