powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / История
6 сообщений из 6, страница 1 из 1
История
    #33164175
Рус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая задача документооборота: имеется документ (договор). К нему привязаны другие объекты, являющеся его содержимым. К договору имеются дополнительные соглашения, которые изменили как состояние самого договора, так и его содержимого. Необходимо сохранять все состояния договора (доп. соглашений) и их содержимого.
Есть два решения:
1. Сделать шапку и тело договора. К телу крепить содержимое.
При каждом изменении договора делать новую запись в тело и копировать содержимое к этой новой записи.
2. Делать для договора и каждой таблицы содержимого доп. таблицу с записями типа дата | значения.
Готов рассмотреть все возможные варианты, спасибо.
...
Рейтинг: 0 / 0
История
    #33165038
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы пошел по первому пути, только не забудте в таблице-шапке сделать ссылку на последную правильную запись в таблице истории.
...
Рейтинг: 0 / 0
История
    #33165166
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
История
    #33168019
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю полную дублирующую структуру, т.е. если есть таблицы "шапка",
"содержимое", делаются таблицы истории: шапка_история, содержимое_история с
аналогичной структурой. В таблицы истории записи попадают не только при
изменени, но и при создании. В основной таблице - всегда актуальная запись.
В таблице истории - дата версии записи, ссылка на запись основной таблицы.


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
История
    #33182485
KPIIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил постить в эту тему, если вы не против
Есть две сущности, А и Б, связаны отношением один ко многим. Сущности Б могут на протяжении времени меняться (висят на истории) - но при добавлении связим между А и Б при просмотре А должны выводиться только те Б, которые были именно для нее добавлены. как можно красиво это реализовать:
Сущность Б имеет два UID: 1-й для идентификации в системе и 2-й отображает номер версии и когда Б связывается с А, то связь происходит по этим двум uid?

Вы предпочитаете реализовывать историю на тригерах? Или каким то другим механизмом?
...
Рейтинг: 0 / 0
История
    #33183001
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ID версии А можно сделать уникальным по таблице версий ВА. Т.е. миграция ключа неидентифицирующая: ВА.А_ID останется ссылкой на А но не войдет в первичный ключ ВА.
Версия Б будет ссылаться на версию А по единственному полю.
Плюсы - единообразие. Минусы - больше джойнов. В каждом конкретном случае выбор разный.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / История
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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