Хорошо, так что меня, вероятно, закроют за то, что я был ленив и не исследовал это сам - но я просто не могу понять это, и это причиняет мне боль. И я уверен, что для некоторых из вас, ребята, это довольно простая проблема.

У меня есть одна таблица Excel с футболистами и их атрибутами ...

Таблица игроков

И еще один - с футбольными командами, состоящими из шести игроков, с шестью игроками на шести позициях.

Таблица команд

Я хочу иметь возможность связать две таблицы, чтобы я мог создавать агрегированные атрибуты команд на основе атрибутов игроков, а затем запускать запросы о качествах команд (то есть лучшие пасовые команды, самые агрессивные команды и т. Д.).

В Excel я бы просто сделал просмотр из таблицы игроков в таблицу команд, а затем сложил различные комбинации атрибутов игроков.

Однако в SQL это кажется сложным - т.е. в каждой команде много игроков, любой игрок может быть в нескольких командах, и любой игрок может играть на нескольких разных позициях. То, в какой позиции играет игрок, влияет на вес, который он влияет на характеристики команды (то есть защитник будет вносить меньший вклад в творческий потенциал команды, чем атакующий полузащитник, и больше в способности команды, чем нападающий). Я думаю, мне нужна промежуточная таблица соединений или несколько? А может все-таки все просто?

Кто-нибудь есть какие-либо предложения?

Спасибо

Бен

1
BenSellars 28 Фев 2016 в 21:16

2 ответа

Лучший ответ

Если я получу ваш вопрос, ответ будет следующий. У вас будет таблица для игроков (PlayerID, PlayerName, PlayerAtribbute1, ...), таблица для команд (TeamId, TeamName, HomeTown, ...) и промежуточная таблица для соединения двух (PlayerId, TeamId, Позиция,...). Последняя промежуточная таблица используется в SQL и проектировании базы данных для представления отношений «многие ко многим».

Если вы выберете этот подход, вы также должны проиндексировать PlayerId в таблице Players, TeamID в таблице Teams и иметь составной индекс (PlayerId, TeamID) в промежуточной таблице, и вы должны быть золотыми.

3
S.Karras 28 Фев 2016 в 20:37

В моей голове отсутствующим элементом в мозаике был составной индекс в таблице соединений (предоставленный С. Каррасом). Теперь я могу продвинуться вперед и посмотреть, как это продвигается.

-1
BenSellars 29 Фев 2016 в 10:34