Как организовать хранение данных в бд?

Допустим есть данные, которые нужно как то хранить допустим в таблице (Пример ниже).

id|name|surname|age|city|carier
1|Вася|Васечкин|20|Москва|Дворник
2|Петя|Петечкин|21|Саратов|Таксист
3|Света|Маретова|22|Калуга|Дизайнер

А что если нам необходимо хранить не просто данные, а еще и историю изменений этих данных, то как это лучше\правильнее сделать? Например Вася id 1 изменил за последний год 3 место проживания. Текущаее москва, а до этого спб, и владивосток. А Петя id 2 изменил 3 места работы, текущее Таксист а до этого он был, садовник, програмист, и дворник.

Как лучше организовать хранение истории в бд? В голову приходит сразу сделать связь многие ко многим, но делать по уму то нам прядется создать доп таблицы, age, city. carier и на случай если Света решит выйти замуж surname, + 4 таблицы связей, что раздует нашу простенькую одну табличку до 9. А если у нас сложнее задача и намного больше полей, то связи раздуются в геометрической прогрессии. Как лучше всего решить данную задачу?


Ответы (0 шт):