Голевая лента

Как сохранить две версии футбольного протокола

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

Структура двух версий

Стабильный ID обозначает сам матч и не меняется при исправлениях. Номер версии относится к состоянию документа: например, v1 для исходной записи и v2 для копии после правки.

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

Пример полей версии
ПолеЗначение
ID матчаmatch-047
Версия оригиналаv1
Версия после исправленияv2
Изменённая строкаgoal-01
Изменённое полеМинута события
Источник уточненияПолученная итоговая запись

Исправление минуты события

Вымышленный пример: матч имеет ID «match-047». В версии v1 строка «goal-01» записана как «Команда Север, гол, 34-я минута». Позднее источник уточнил время: 36-я минута.

Создаётся v2 с тем же ID матча. В журнале v2 указывают: «Строка goal-01; поле “минута”; было: 34; стало: 36; источник: полученная итоговая запись». Версия v1 остаётся с исходной минутой 34, а текущей рабочей версией становится v2.

Это не новый гол и не изменение команды: меняется только одно поле одной строки. Постоянный идентификатор строки помогает отличить исправление уже известного события от добавления отдельного события.

  1. Назначить матчу стабильный ID.
  2. Сохранить исходный протокол как первую версию.
  3. Создать копию, а не изменять оригинал.
  4. В новой версии назвать изменённую строку и конкретное поле.
  5. Записать старое и новое значения, а также источник уточнения.
  6. Присвоить новой копии следующий номер версии.

Что не следует объединять

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

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

Источники и методика