Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание истории изменений данных в старой БД / 10 сообщений из 10, страница 1 из 1
03.02.2016, 12:42
    #39161860
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
Есть действующая БД на Firebird, в которой не былоа предусмотрено сохранение изменений (удаленных, измененных строк в таблицах), но есть регулярные копии её состояния.
БД очень старая.
Поставлена задача воссоздать "профуканую" историю изменений БД.

Вопрос: возможно ли это? и если да, то хотя бы теоритически "как", а лучше автоматизировать "как"?

P.S. первое, что приходит на ум - классика:
1. начать с 1-го релиза БД и с нарастающим итогом сохранять в таблицах изменения, для чего в каждой таблице добавить пару столбцов: флаг состояния строки (активная, удаленная) и даты изменения.
2. добавлять в таблицы строки отличающиеся между предыдущим релизом БД и текущем. При этом устанавливать дату изменений = дате текущего релиза БД и флаг состояния как у добавленных (новых или измененных строк), так и сохраненных строках, но отсутствующих в новом релизе устанавливать флаг "удалена".

Это конечно решение с малой информативностью, т.к. зависит от частоты сохранения релизов БД, но хоть что-то.
Может у Firebird есть скрытые "резервы" для таких случаев, о которых я даже не предполагаю? :)
...
Рейтинг: 0 / 0
03.02.2016, 13:01
    #39161892
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
Hello, Ais!
You wrote on 3 февраля 2016 г. 13:01:08:

Ais> Вопрос: возможно ли это?ответ: НЕТ

постановщик задачи идёт лесом

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.02.2016, 13:02
    #39161895
AndreyTarasov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
AIS,

сервер какой?
структура в базе не менялась? только данные менялись?

первое что на ум приходит - взять самую первую базу и пакетным способом вливать в нее все данные из каждой следующей базы

только триггеры доработать, чтоб делали копии

также можно ON EXTERNAL [DATA SOURCE] использовать
...
Рейтинг: 0 / 0
03.02.2016, 13:20
    #39161926
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
AndreyTarasov,
спасибо за совет.
Структура БД не менялась, менялись (в т.ч. дополнялись, удалялись) только данные (по крайней мере у меня такая информация).

P.S. БД около 20 лет. Релизы сохраняли говорят что поквартально.
...
Рейтинг: 0 / 0
03.02.2016, 16:59
    #39162235
ZeroMQ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
Делали такую супер-пупер базу "с историей". Что менялось, да кем менялось...
Сделали, но вместо реализации полезной бизнеслогики занимались незнамо чем.
Ни разу не пригодилось.
...
Рейтинг: 0 / 0
04.02.2016, 09:53
    #39162651
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
ZeroMQ,

Как показывает опыт, такие хотелки возникают вовсе не из необходимости.
Практически никогда нет хоть какого-то ТЗ, что использует такую структуру базы, не может быть сделана по-другому, и не выдумано только для обоснования создания такой структуры.
...
Рейтинг: 0 / 0
04.02.2016, 12:05
    #39162819
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
ZeroMQДелали такую супер-пупер базу "с историей". Что менялось, да кем менялось...
Сделали, но вместо реализации полезной бизнеслогики занимались незнамо чем.
Ни разу не пригодилось.

Ну не знаю для чего вы такое делали
а у нас история очень даже используется
- для "отката" документов
- для отчетов, дабы выдать отчет за прошлый период именно так как он выдавался тогда
- для разборок кто что и когда менял и ответов на вопросы вроде "а почему в прошлом месяце(квартале,...) было совсем не так "
- ну и при необходимости для "восстановления" некоторых данных
...
Рейтинг: 0 / 0
04.02.2016, 12:21
    #39162833
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
история нужна для документов .
а не для абстрактных "данных из таблиц".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.02.2016, 13:36
    #39162909
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
Мимопроходящийистория нужна для документов .
а не для абстрактных "данных из таблиц".

а эта БД и есть БД документов, которые собираются из полей таблицы, а потом например печатаются на бланках.
Мимопроходящийответ: НЕТ

постановщик задачи идёт лесом

И вопрос стоит так: сделаете или это будет делать другой?

P.S. хочется получить заказ, но не погрязнуть в непреодолимом... :))
...
Рейтинг: 0 / 0
04.02.2016, 15:00
    #39163029
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание истории изменений данных в старой БД
m7m - для отчетов, дабы выдать отчет за прошлый период именно так как он выдавался тогдаВот кстати для серьёзных отчётов, идущих куда-нибудь (например, в налоговую) какая-то там история не имеет значения.
Данные отчёта (или итоговый отчёт) должны сохраняться на момент формирования.
И уж точно не сидеть не угадывать момент, когда же у нас отчёт был таким, как вот тут я держу в руках.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание истории изменений данных в старой БД / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]