Стоит задача : учитывать , что данные клиентов могут меняться и необходимо хранить архив изменений данных клиентов. Ранее была решена задача о хранении данных о клиенте
В результате получилось, что есть информация основная для всех клиентов(ФИО, телефон) , но существует еще и дополнительная информация, по типам клиента. Схема хранения данных о клиентах изображена тут.
Проблема: думаю что нужно хранить только ту информацию которая изменилась, не целиком срез данных по клиенту, следовательно думаю, что нужно добавить таблицу Архив с полями {id изменений, data, id клиента, имя поля которое изменили(?), OLD value}. Если бы в таблице AdditionFields были все поля включая name и ФИО клиента , то взяли бы FieldId и все. Но получается, что есть часть полей в таблице клиенты + дополнительные поля и как вот так указать изменяемое поле в архиве, когда они разбросаны, никак не могу придумать, естественно чтобы не было избыточности данных. Поделитесь , пожалуйста идеями ? может как-то по другому думать ?