Вот есть база данных пользователей. У каждого пользователя есть характеристики: Имя, Фамилия, Дата рождения, Телефон, Домашний адрес, адрес электронной почты. В общем база выглядит так: Имя | Фамилия |Дата рождения |Телефон |Домашний адрес |имеил ------|------------|---------------------|--------------|--------------------|----------- Вася | Пупкин |2000.01.01 |123-12-12 |Пушкина, 5 |vasia@aol.com И вот этот Вася Пупкин в своем профиле делает изменения в колонке "Домашний адрес". Можно поступить просто: просто изменить старые данные на новые именно в этой колонке. И получается, что нового ряда создаваться не будет. Просто обновление данных и никакой фиксации, что Вася Пупкин делал изменения. А вот как реализовать, чтобы фиксировались эти обновления? Дублировать целую строку (ряд), где все данные остануться неизменными, а изменяется только "Домашний адрес"? Типа так: Имя | Фамилия |Дата рождения |Телефон |Домашний адрес |имеил -------|---------------|---------------------|--------------|------------------------|--------------- Вася | Пупкин |2000.01.01 |123-12-12 |Пушкина, 5 |vasia@aol.com Вася | Пупкин |2000.01.01 |123-12-12 |Лермотова, 10 |vasia@aol.com Но это похоже не лучшее решение. И как тогда зафиксировать дату и время этих изменений? В общем вопрос, как сохранять такие изменения в БД? Чтобы можно было просмотреть историю изменений, которые пользователь сделал, с указанием даты этих изменений? Новую вспомогательную БД создавать, где будут только изменения по каждой колонке фиксироваться?
Сделать еще одну таблицу с логами. При изменении профиля добавить в лог новую запись, содержащую id юзера, характер изменений и дату.