2016-06-11 2 views
0

Прежде всего, извините за мой английский. В любом случае, я разработал базу данных для футбольных лиг, у меня есть сомнения относительно таблицы MATCH. Очевидным является включение в игру двух полей для игры хозяева id: и для команда, а также внешний ключ. Но я думаю, что это не лучший способ, потому что, например, если я хочу получить все MATCH, которые играет команда, я должен написать , где с двумя полями вместо одного.SQL: Структура таблицы футбольных матчей

Так что мое решение есть два, и я хочу спросить вас, что вы думаете:

  1. Создать ManyToMany стол MATCHES_TEAMS и держать двух полей прочь/домашний ID команды или один из их в MATCH стол.
  2. Создать два ManyToMany таблицы MATCHES_HOME_TEAMS и MATCHES_AWAY_TEAMS.

Спасибо и до свидания

+0

У кого-то на стеке был достойный ответ за это в прошлом году. Я посмотрю или вы можете [здесь] (http://stackoverflow.com/search?tab=newest&q=%5bmysql%5dhome%20team) или [здесь] (http://stackoverflow.com/search?tab=newest&q= % 5bmysql% 5dhome% 20team% 20away) или аналогичный поиск – Drew

+0

Спасибо, но я ничего не нашел – princio

+0

Есть десятки вопросов с принятыми ответами и комментариев к темам http://stackoverflow.com/q/32552455 ... you просто нужно смотреть через дюжину или около того и не лениться об этом. http://stackoverflow.com/a/36822336 – Drew

ответ

0

Hw о таблице для команд и таблицу для матчей с флагом (H или A) для обозначения дома прочь?

+0

Это как мое первое решение, с таблицей _manytomany_ и одним или двумя полями, которые указывают на то, что дома или вдали но я не знаю, приведет ли это к слишком большому избыточности. – princio

+0

Теперь я думаю, что, возможно, мы думаем не так, это * home/away_team_id * - это не просто команда, а нечто большее. Например, это не просто команда, потому что есть поле * score *, но если мы думаем глубже, оценка не нужна, потому что ее можно вычислить по таблице _appearance_, которая записывает счет каждого игрока команды в матче. – princio

+0

Вы почти наверняка переоцениваете это. Стол многих-многих - плохая идея, об этом не обсуждается. Два много-много таблиц просто глупы. У вас есть конечная команда, которая играет определенное количество матчей, из которых вы хотите записать Home/Away, счет как минимум и вычислить точки и разницу мячей, возможно? Вот и все, почему это слишком сложно – RJJ

Смежные вопросы