Я версионирую данные глоссария, и мой подход был довольно успешным для моих нужд.По сути, для записей, для которых необходимо управление версиями, вы разделяете набор полей на постоянные поля и поля, зависящие от версии, создавая две таблицы.Некоторые из первого набора также должны быть уникальными ключами для первой таблицы.
Адрес id [pk]полное имя [великобритания]день рождения [великобритания] Версия
id [pk]address_id [великобритания]отметка времени [великобритания]адрес
Таким образом, вы получаете адрес субъекта, определяемый полным именем и днем рождения (не должен меняться при управлении версиями) и версионные записи, содержащие адреса.address_id должен быть связан с Address: id через внешний ключ.С каждой записью в таблице версий вы получите новую версию для субъекта Address: id = address_id с определенной отметкой времени, в которой вы можете иметь ссылку на историю.