Я создаю базу данных спортивной статистики. С его помощью я бы хотел каталогизировать статистику игр / матчей для многих видов спорта. Например, эта база данных сможет рассказать вам, сколько приземлений Каролина Пантерс забило в сезоне 09-10 (футбол), или сколько штрафных бросков было сделано Майами Хит в их последней игре (баскетбол).
У меня проблемы с проектированием одной из более фундаментальных таблиц под названием «Совпадения». Таблица соответствий имеет столбцы для:
- ID (PK match_id )
- дата воспроизведения ( play_date )
- идентификаторы, относящиеся к выступлениям команд (FK team_1_performance_id и team_2_performance_id ) в таблице выступлений.
Таблица исполнений содержит:
- ID (PK perf_id )
- идентификатор команды (FK team_id )
- И самое главное, все остальные характеристики, такие как: количество ударов (*)
- средний бросок за игру (*)
- процентов из 3-х указателей сделано (*)
(*) Проблема в том, как я могу сделать таблицу выступлений релевантной для соответствующего вида спорта? Например, в бейсбольных матчах есть забастовки, а в футболе и хоккее - нет (равно как и в любом другом виде спорта, о котором я могу думать). Я не хочу, чтобы в моей таблице «Производительность» был столбец для ударов, когда он будет иметь отношение только к части записей.
Или я? Может быть, мой дизайн должен отличаться все вместе? Как бы вы пошли об этом?
Теперь, я не знаю, возможно ли это, но одна идея, которая у меня возникла, заключалась в том, чтобы включить какой-то столбец идентификатора таблицы производительности в Matches, который ссылается на разные таблицы производительности. Так что, когда я запрашиваю результаты матча, он смотрит на конкретную таблицу. Отсюда и название этого вопроса (может ли атрибут обозначать одну таблицу над другой?). Представьте себе: «ВЫБЕРИТЕ team_1_performance.strikes ИЗ МАТЧЕЙ ВНУТРЕННЕГО СОЕДИНЕНИЯ Соответствует
И еще у меня была идея создать таблицы матчей для всех видов спорта, таких как Rugby_Matches или Football_Matches, а затем соответствующие таблицы производительности для этих видов спорта, таких как Rugby_Perfomances или Football_Performances. Это просто похоже на множество таблиц, которые представляют несколько похожих вещей.
Если можете, постарайтесь, чтобы ваши ответы были специфичными для MySQL.
Спасибо!