Суть:1) Есть БД.2) Есть программа, её использующая (на чтение) и есть редактор.Логика работы редактора примерно такая:а) создаём копию БДб) редактируем (со своими транзакциями и т.п.), в это время основная программа должна видеть старую версию БД.в) после редактирования либо принимаем изменения (заменяем БД, на её копию), либо отклоняем все изменения (просто забываем о редактированной копии).Собственно вопрос - как это правильно сделать?Вижу два варианта:1) Скопировать файл БД и редактировать его.минусы:- если переходить на серверную БД видимо придётся всё переписывать;- непонятно что будет, если при обратной замене БД основная программа к ней обратится.2) Скопировать внутри БД все таблицы TableName1, TableName2, ... TableNameN в их копии edit_TableName1, edit_TableName2, ... edit_TableNameN и редактировать их.минусы:- при изменении структуры БД надо следить за тем, чтобы структуры TableNameX и edit_TableNameX оставались одинаковыми.Может есть ещё какие-нибудь предложения по организации этого безобразия?
|