@Jaguar_sea

Возможно ли улучшить структуру БД?

Помогите улучшить структуру БД. Игроки организовывают турнир с равным но произвольным количеством команд. Сетка турнира состоит из туров равных количеству команд. В каждом туре игроки играют между собой n-ой командой. По игрокам ведется статистика: кол-во игр, очки и т.д. На данный момент БД выглядит как показано во вложенном файле, и это я думаю не лучший вариант. Помогите пожалуйста.
73efbe69ccd64917bc4a3efabf259b01.PNG
P. S. В таблице "CompetitionStatistics", вместо PlayerOne и PlayerTwo, наверное более понятны были бы OwnerPlayer и VisitorPlayer.
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
sim3x
@sim3x
Player:
   team = FK(Team)
   ...

Team:
   ...

Competition:
    ...

CompetitionTour:
   competition = FK(Competition)
   owner = FK(Team)
   visitor = FK(Team)
// правильнее (с точки зрения НФ), получать результат, 
// как сумму результатов игроков обеих комманд
// но если не напортачить с обработкой, то больших проблем быть не должно
   owner_result
   visitor_result


CompetitionTourPlayerStats:
   competition_tour = FK(CompetitionTour)
   player = FK(Player)
   result


M2M = https://en.wikipedia.org/wiki/Many-to-many_(data_model)
FK = https://en.wikipedia.org/wiki/Foreign_key
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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