Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

помогите разобраться с реляционной структурой   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-37209
Игорь К.
2002-12-31 09:47
2003.01.13
просмотр *.txt с возможностью фиксации колонок и шапки


14-37377
Евгений Р.
2002-12-22 16:08
2003.01.13
Перекодировка Delphi->C++Builder


1-37034
solo
2002-12-28 20:27
2003.01.13
Изменение ширины столбца TListView


7-37397
sural
2002-11-02 03:37
2003.01.13
Как узнать, какой пиксель экрана светиться каким цветом?


6-37240
IDKFA
2002-11-13 15:29
2003.01.13
Народ, помогите, плиз! Сокет глючит!