Модель базы данных - турниры для киберспорта

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

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

Обзор:

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

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

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

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

Задайте конкретный вопрос о конкретном подмножестве дизайна и объясните, почему вы застряли. Тогда мы можем говорить именно об аспектах и ​​вариантах этого. Обоснуйте, обратившись к конкретному учебнику по информационному моделированию, реляционной модели и проектированию баз данных. (Nb. Руководство по инструменту дизайна, API или языку для записи дизайна не является руководством / учебным пособием по дизайну.) В противном случае вы просто просите нас переписать его с помощью индивидуального учебного пособия.

philipxy 14.12.2018 03:45

Пожалуйста, используйте текст, а не изображения / ссылки для текста (включая код, таблицы и ERD). Используйте ссылку / изображение только для удобства, чтобы дополнить текст и / или для того, что не может быть дано в тексте. И никогда не давайте диаграмму без легенды / ключа. Используйте функции редактирования для встраивания, а не для ссылок, если у вас есть представитель. Сделайте свой пост самодостаточным. Прочтите и действуйте в соответствии с минимальный воспроизводимый пример.

philipxy 14.12.2018 03:46
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
2
494
0

Другие вопросы по теме

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