The task is to take into account that customer data may change and it is necessary to keep an archive of changes in customer data. Previously solved the problem of storing customer data
As a result, it turned out that there is basic information for all clients (full name, telephone), but there is also additional information on the types of clients. The scheme for storing customer data is shown here .
Problem: I think that you need to store only the information that has changed, not the entire data slice for the client, therefore I think that you need to add a table Archive with fields {change id, data, client id, name of the field that changed (?), OLD value}. If the AdditionFields table had all the fields including the client’s name and full name, then FieldId would have taken it. But it turns out that there are some fields in the table, customers + additional fields, and how to specify the variable field in the archive like this, when they are scattered, I can’t think of anything, it’s natural that there is no data redundancy. Share, please ideas? can somehow think differently?