Составы

Как разделить игроков с одинаковыми номерами

Одинаковый номер не идентифицирует футболиста сам по себе. Для записи используйте связку «команда + номер + имя + матч», а при наличии добавляйте внутренний идентификатор игрока.

Почему номера недостаточно

Номер различает игроков только внутри конкретного состава и конкретного матча не всегда надёжно для последующего архива. Один и тот же номер может встретиться у соперников, а также в разных матчах одной команды.

Имя без команды и матча тоже может быть недостаточным: совпадения имён не исключаются. Поэтому для каждой строки наблюдения нужен контекст записи.

Составной ключ записи

Общий контекст для номера и имени создаёт матч, а не сам номер и не само имя. Поэтому строка должна содержать все поля, по которым запись можно проверить и сопоставить.

Поля для различения футболистов
ПолеНазначение
Командаотделяет игроков соперничающих составов
Номерсохраняет номер на футболке в этом матче
Имяотделяет конкретного игрока внутри записи
Матчпривязывает сведения к одному событию
Внутренний IDпомогает связать записи одного человека в архиве, если он доступен

Вымышленная пара номеров 7

Вымышленный пример: в матче «Волна» — «Рубинец» у команды «Волна» под номером 7 записан Алексей Миронов, а у «Рубинца» под номером 7 — Кирилл Данилов. Запись «№ 7 сделал отметку» неоднозначна.

Корректные строки выглядят так: «Волна; 7; Алексей Миронов; матч Волна — Рубинец» и «Рубинец; 7; Кирилл Данилов; матч Волна — Рубинец». Даже при одном и том же номере записи относятся к разным футболистам.

Практический порядок записи

  1. Создайте одну строку для одного футболиста в одном матче.
  2. Запишите команду, номер, имя и обозначение матча до внесения события или позиции.
  3. Если имя или команда не подтверждены, отметьте соответствующее поле как неизвестное, а не заполняйте догадкой.
  4. Храните источник записи и при наличии внутренний ID.
  5. При сравнении используйте одинаковые поля идентификации во всех строках.
Источники и методика