powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше спроектировать бд, чтобы хранить историю изменений данных?
11 сообщений из 11, страница 1 из 1
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32661432
black_stone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы отслеживать изменения данных в записях и хранить эти изменения как лучше спроектировать БД?
Допустим данные о человеке (адрес и т.д.) могут меняться, но желательно знать историю изменений (где когда проживал и т.д.).
Можно создать копию таблицы и туда складывать изменившиеся записи, но это будет не очень рационально и избыточно. Или по каждому атрибуту записи создать отдельную таблицу (например прописка) и там накапливать изменения - но в этом случае придется строить сложные запросы, чтобы получить актуальные данные.
Какие еще могут быть варианты?
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32661500
andresito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видел неплохой вариант, где в таблице добавлялись 2 поля
- дата начала актуальности информации и дата ее конца
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32661622
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну боже мой. Ну поищите Вы по форуму.Обмусолено 20 раз.
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32661660
andsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32663878
Alexey Yakovlev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не ломай себе голову , сделай архивную таблицу куда копируй записи перед изменением. Скорость развития современных винтов говоторит о том что экономить на спичках - глупо. Тем более что информация будет строго выбираться по уникальным ключам. Живую запись нашел , и ней по первичному ключу выбрал из архива. И я так понял что твоя база медленно обновляемая. Потому что среднестатестический человек максимум меняет место жительство один раз в несколько лет.
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32664807
нах_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 andsm

- нах.

не можешь дать ссылку на текст, - не дави батоны - экономь усилия. Аннотации нах никому не нужны. В сети.
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32665822
Фотография рубль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32670196
isa7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey YakovlevНе ломай себе голову , сделай архивную таблицу куда копируй записи перед изменением. Скорость развития современных винтов говоторит о том что экономить на спичках - глупо. Тем более что информация будет строго выбираться по уникальным ключам. Живую запись нашел , и ней по первичному ключу выбрал из архива. И я так понял что твоя база медленно обновляемая. Потому что среднестатестический человек максимум меняет место жительство один раз в несколько лет.

Да. Тем более что можно копировать не полностью запись, а только поля, которые необходимо отслеживать.
Делал подобное двумя таблицами на каждую аудитируемую таблицу.
Никаких проблем с запросами по выбору данных.
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32682976
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И это тоже можно! Если пректировать базу с помощью Bold for Delphi, то там эта возможность встроена в систему. Достаточно бросить в модуль данных пару компонент, да в редакторе модели несколько чек-боксов галочками выделить. И свершится чудо.
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32682992
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отсюда по подробнее.

Там есть для атрибутов объекта тип переодический (термин из 1эсс)

Или просто легко реализовать
...
Рейтинг: 0 / 0
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
    #32683235
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это называется Object Versioning Extension.

Классы стовятся версионными после установки значения тэга Versioned в "True" или в model editor или в Rose - model.

In the Rose model open the class you want to version and set the Versioned attribute to <<True<< under the Bold tab.
In the model editor select the class you want to version and either press <ctrl>T or choose the Edit tagged values option under the Tools menu. In the form that opens select the Versioned attribute under the Bold tab and set it to <<True<<.
It is also necessary for the flag UseTimestamp to be set to <<True<< for versioning to work. This can be done either on the Bold tab in Rose, under Tools | Model Properties | Edit, or in the Model Editor.
-----------------
Есть простой пример в комплекте поставки с хорошим описанием. И Хелп.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше спроектировать бд, чтобы хранить историю изменений данных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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