Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше спроектировать бд, чтобы хранить историю изменений данных? / 11 сообщений из 11, страница 1 из 1
23.08.2004, 15:34
    #32661432
black_stone
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
Чтобы отслеживать изменения данных в записях и хранить эти изменения как лучше спроектировать БД?
Допустим данные о человеке (адрес и т.д.) могут меняться, но желательно знать историю изменений (где когда проживал и т.д.).
Можно создать копию таблицы и туда складывать изменившиеся записи, но это будет не очень рационально и избыточно. Или по каждому атрибуту записи создать отдельную таблицу (например прописка) и там накапливать изменения - но в этом случае придется строить сложные запросы, чтобы получить актуальные данные.
Какие еще могут быть варианты?
...
Рейтинг: 0 / 0
23.08.2004, 15:54
    #32661500
andresito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
видел неплохой вариант, где в таблице добавлялись 2 поля
- дата начала актуальности информации и дата ее конца
...
Рейтинг: 0 / 0
23.08.2004, 16:24
    #32661622
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
Ну боже мой. Ну поищите Вы по форуму.Обмусолено 20 раз.
...
Рейтинг: 0 / 0
23.08.2004, 16:32
    #32661660
andsm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
...
Рейтинг: 0 / 0
25.08.2004, 01:01
    #32663878
Alexey Yakovlev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
Не ломай себе голову , сделай архивную таблицу куда копируй записи перед изменением. Скорость развития современных винтов говоторит о том что экономить на спичках - глупо. Тем более что информация будет строго выбираться по уникальным ключам. Живую запись нашел , и ней по первичному ключу выбрал из архива. И я так понял что твоя база медленно обновляемая. Потому что среднестатестический человек максимум меняет место жительство один раз в несколько лет.
...
Рейтинг: 0 / 0
25.08.2004, 14:17
    #32664807
нах_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше спроектировать бд, чтобы хранить историю изменений данных?
2 andsm

- нах.

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

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

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

Или просто легко реализовать
...
Рейтинг: 0 / 0
07.09.2004, 13:53
    #32683235
mv
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]