Как создать базу данных, которая поддерживает функцию, которая позволит пользователю приложения создавать моментальный снимок своих данных в определенный момент времени, немного похожее на управление версиями.
Это даст пользователю возможность вернуться назад и посмотреть, как выглядели их данные в прошлом.
Предположим, что данные, "снятые снимок", сложны и включают в себя объединения нескольких таблиц.
Я ищу способ дать каждому пользователю приложения возможность моментального снимка своих данных и вернуться к нему. Все снимки базы данных не то, что я ищу.
EDIT: Спасибо за ваши ответы. Ответ на 6NF является убедительным, как и предложение де-нормализовать данные моментальных снимков из-за его простоты.
Уточнение: это не вопрос о хранилище данных, и это не вопрос о резервном копировании и восстановлении БД; о том, как построить схему, которая позволяет нам фиксировать состояние определенного набора связанных данных в определенный момент времени. Снимки генерируются пользователями приложения, когда они сочтут это подходящим. Пользователи не снижают всю БД, а только интересующий объект данных.