MySQL: нужна помощь для схемы - как работать со списками?

0

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

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

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

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

Теги:
database
schema
database-design

1 ответ

2
Лучший ответ

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

  • 0
    Спасибо большое за вашу помощь! Я думаю, что ты прибил это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню