MySQL: нужна помощь для схемы - как работать со списками? - PullRequest
0 голосов
/ 19 января 2011

У меня есть форма для ввода информации о футболисте, с полем для ввода во всех командах, в которых был игрок.Идея состоит в том, что записи этих игроков будут использоваться для создания индекса команд и отдельных командных страниц .На страницах команд будут отображаться записи всех игроков, которые когда-то были в команде в какой-то момент.

Вот как это работает абстрактно.Я не совсем уверен, как обращаться с полем;Я думаю, что команды должны быть разделены запятыми, когда пользователь вводит их.Тем не менее, я больше обеспокоен тем, как обращаться с бэкэндом в самой базе данных.

Если у каждого игрока есть несколько команд, связанных с ним, как мне хранить teams атрибут в таблице базы данных для игроков? В настоящий момент, поскольку форма предназначена для одного игрока, основной стол, с которым я работаю, это таблица players.В каждой строке этой таблицы рассказывается об одном игроке и его статистике, включая атрибут, представляющий собой список команд, в которых он был.Я думаю, что мне может понадобиться дополнительная таблица для teams.Каждая строка в этой вторичной таблице не будет состоять из большого количества, просто идентификатор, а затем список игроков.Но тогда, как мне тогда обрабатывать этот список игроков?

Есть какие-нибудь предложения относительно того, как справиться с этой ситуацией?Есть ли лучшее решение?

1 Ответ

2 голосов
/ 19 января 2011

Вы описываете отношения многие ко многим.Вам нужен стол "игрок", стол "команда" и таблица игроков "player_team".Ассоциированная таблица будет иметь как player_id, так и team_id.Затем вы можете загрузить игроков, связанных с данной командой, выполнив объединение за столом.

...