powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хранение истории данных
4 сообщений из 4, страница 1 из 1
Хранение истории данных
    #32018191
Partner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно сделать историю хранения каких-л данных в отдельной таблице. Может кто подскажет, как обычно это организуют? Я вобщем представляю как можно сделать, но может есть какой-н стандартный подход?
...
Рейтинг: 0 / 0
Хранение истории данных
    #32018239
Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно каждый реализует историю в зависимости от своих нужд, но в принципе создается таблица с той же структурой, что и таблица из которой нужно получать данные, плюс несколько колонок которые описывают дату(ы), пользователя (если надо) и т.п. в котору по триггеру кидаются данные до и после изменения...Это в принципе простая схема...
...
Рейтинг: 0 / 0
Хранение истории данных
    #32018247
andy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Учтите ещё, что если в базовой таблице у Вас лежит ссылка на что-то, например на фирму партнёра, то потом, когда фирма переименуется, в статистике, может быть, захочется видеть её старое название.
...
Рейтинг: 0 / 0
Хранение истории данных
    #32018257
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем ясен вопрос. Какого типа данные нужно переводить в архив?
Тривиальный вариант, вроде хранения каких-либо несвязанных данных, например результатов измерений, опускаю.
Если надо что-то типа учета прихода-расхода, то я применяю такой способ:
Раз в месяц данные из журнала операций, дата совершения которых превышает назначенный интервал удаляется из основного журнала в архивный. При этом производится перерасчет входящих остатков.

Что-то вроде этого (сильно упрощая):

Структура базы.

WorkDate - дата совершения операции
Name - наименование
Quantity - количество (плюс - приход, минус - расход)
Partner - поставщик/получатель

Сдаем данные, более ранние, чем 01.01.1995.

begin transaction

insert into Архив
select * from Журнал
where WorkDate < '19950101'
and Partner <> 'Входящий остаток'

delete from Журнал
where WorkDate < '19950101'

insert into Журнал
select '19941231' as WorkDate, Name,
sum(Quantity), 'Входящий остаток' as Partner from Архив
group by Name
having sum(Quantity)<>0

commit transaction
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Хранение истории данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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