Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-37325
Ahmad K
2002-12-23 01:11
2003.01.13
---|Ветка была без названия|---


1-37007
Delphi Maniak
2003-01-01 10:13
2003.01.13
Вопрос про реестр


4-37468
Bukerman
2002-11-27 15:31
2003.01.13
PID процесса по заголовку окна


14-37380
Lokk
2002-12-25 14:19
2003.01.13
помогите плизз


14-37326
very_need_book
2002-12-23 21:30
2003.01.13
delphi book




   Наверх