Форум: "Базы";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Внизпомогите разобраться с реляционной структурой Найти похожие ветки
← →
atmamont (2002-12-18 23:33) [0]Ситуация:
в базе нужно отразить документ, у которого есть некоторые реквизиты и предусмотреть возможность изменения этих реквизитов во времени с помощью объекта "Доп. соглашение" с сохранением старых реквизитов.
Мне сложно положить эту модель на реляционную структуру, потому как совсем мало опыта проектирования таких ситуаций. К примеру, в 1С это тривиально решается с помощью периодических реквизитов документа либо с помощью подчиненного документа, который хранит старые и новые реквизиты и при проведении меняет условия родительского документа. А тут что-то сложно придумать красивое и удобное решение.
Может у кого был опыт проектирования таких баз либо присутствует голова светлая?.. :)
Если можно, приведите пример в пару таблиц.
← →
Jeer (2002-12-19 00:11) [1]Поля - версия документа и дата.
Неуникальные поля копируются, затем модифицируются.
Варианты модификации
- только текущий документ
- вниз
- вверх
- сквозная
← →
atmamont (2002-12-19 00:21) [2]правильно ли я понял?
TABLE
ID | MOD_ID | DATE_MOD | A1 | ... | AN
----------------------------------------
1 | 1 | date1 | 5 | | 332
1 | 2 | date2 | 10 | | 300
1 | 3 | date3 | 11 | | 310
A1 .. AN - реквизиты документа
ID - к примеру номер документа как он должен быть
MOD_ID - номер модификации (доп.соглашения)
DATE_MOD - дата допсглашения
В результате получает на нужную дату по date_mod кортеж необходимых реквизитов... Вроде все сходится
А вот насчет вариантов модификации можно подробнее? Первый раз сталкиваюсь с такими.
← →
atmamont (2002-12-19 00:24) [3]И получается, что primary key будет уже ID+MOD_ID
← →
Jeer (2002-12-19 00:35) [4]Не обязательно ID+MOD_ID
Введи ссылку на parent
ID
PARENT (ссылка на ID)
VERS версия (больше для человека чем для базы тк дублирует ID+PARENT)
VDATE дата версии
...
← →
Jeer (2002-12-19 00:38) [5]А варианты модификации определяют правила каскадных изменений зависимых документов.
Цепочка изменений может прерываться на проведенном документе (те том, где или после которого ничего менять уже нельзя по причине завершения бизнес-транзакции)
← →
atmamont (2002-12-19 01:12) [6]Спасибо, идею понял.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c