#mysql
#mysql
Вопрос:
Что я собираюсь сделать, так это создать таблицу команд, а затем у каждой команды будет ссылка на свою таблицу игроков. Так, например, если в команде A есть игроки x, y и z, я могу ссылаться на них всех из записи команды A в таблице. Команды имеют переменный размер от 8-12.
Что-то вроде того, что у меня есть прямо сейчас, это:
CREATE TABLE team_a_players(
PlayerName varchar(255),
PlayerELO int
);
CREATE TABLE teams(
TeamName varchar(255),
TeamELO int,
TeamRank int
);
Я хочу иметь возможность ссылаться на игроков команды из записи teams в их таблице players.
Другой подход, который я рассматривал, заключался в том, чтобы иметь всего 2 таблицы, одну для всех команд и одну для всех игроков, и чтобы таблица players имела внешний ключ, связанный с командой, к которой принадлежит игрок. Однако я в порядке, делая это в любом случае.
Комментарии:
1. Здравствуйте. Не имеет особого смысла создавать новую таблицу каждый раз, когда вы добавляете новую команду. Создайте таблицу с именем
players
и добавьте полеteam_id
, которое ссылается наid
team
таблицу с помощью внешнего ключа.2. Каждая таблица должна иметь автоматически увеличивающийся столбец первичного ключа integer. Я использую тип int (11) для этого столбца. Как сказал @solarc, в таблице players также должен быть столбец, который ссылается на ключ таблицы teams. Еще одна вещь, которую следует учитывать, если игрок может выступать более чем в одной команде (в другой лиге, в другом виде спорта), тогда вам нужно будет установить отношение «многие ко многим» с третьей таблицей ссылок. Если это возможно, я могу показать вам, как это можно было бы сделать.
3. Отлично, спасибо! Ссылка на команду от игрока кажется более простым решением. У каждого игрока будет только одна команда, так что все должно быть в порядке!
4. @JashanjotDhilon это называется нормализацией базы данных, вы можете прочитать больше об этом здесь