Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / документы / 13 сообщений из 13, страница 1 из 1
04.06.2011, 17:21
    #37294801
AndrewVL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
Здравствуйте.

имеются 2 таблицы. шапка документа и тело.

на основании некоторых документов заполняются дополнительные таблицы.
в них есть поле-ссылка на строку тела документа. по ней при перепроведении и изменении документа делается обновление данных.
раньше было еще и поле-ссылка на сам документ. но отказался т.к. шапку документа можно получить по ссылке на строку тела.
Все вроде хорошо.

но образовались документы, которые не содержат тела документа.
соответственно нет в доптаблицах ссылки на тело документа. а раз отказался от ссылки на шапку то и нет ссылки вообще документ.

вопрос такой. как отказавшись от ссылок на шапки документов (используя только ссылки на тело) в прочих таблицах проверять к какому документу относятся записи в таблицах?

у меня только одна мысль - в документах,где нет тела всеравно в таблицу тела документа добавлять запись(фиктивную) и уже от нее плясать далее.


Спасибо
...
Рейтинг: 0 / 0
04.06.2011, 19:39
    #37294941
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
AndrewVL,

Не понял, как это нет документов без тела, но можно использовать в запросах LEFT|RIGHT OUTER JOIN, что бы получать шапки без тел
...
Рейтинг: 0 / 0
04.06.2011, 19:59
    #37294965
AndrewVL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
Cat2,

ну например приказ на матпомощь. у него есть и шапка и тело ввиде списка людей. в теле хранится идентификеатор человека .

а например договор какой какой нибудь с человеком - у него идентификатор человека находится в шапке. и все прочие реквизиты в ней же.
...
Рейтинг: 0 / 0
06.06.2011, 15:54
    #37297055
wildwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
AndrewVL,

Если у вас при "изменении документа делается обновление данных" в дополнительных таблицах, то почему связь в обратную сторону?
...
Рейтинг: 0 / 0
07.06.2011, 11:20
    #37298285
AndrewVL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
wildwind,

Всмысле в обратную сторону? )
...
Рейтинг: 0 / 0
07.06.2011, 12:44
    #37298527
wildwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
AndrewVL,

Не документ (шапка или тело) ссылается на доп. таблицы, а наоборот.
...
Рейтинг: 0 / 0
07.06.2011, 13:34
    #37298668
AndrewVL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
wildwind,

хм.

head
PKdate...1'01.01.2010'....2'01.01.2010'...

body
PKhead_idpeople_id...1122....2133...


work_table
PKbody_id...11...21..

и соответственно обычным селектом с джойном из рабочей таблицы по body_id получаю строку приказа и джойном тело.
А вот если тела нет, а people_id в шапке, то в work_table соответственно не добавишь body_id т.к. его нет.
Или я перегрелся?)
...
Рейтинг: 0 / 0
07.06.2011, 14:13
    #37298796
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
AndrewVL, в work_table надо ещё и ссылку на head документа хранить, вот и всё.
...
Рейтинг: 0 / 0
07.06.2011, 14:14
    #37298803
AndrewVL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
egorychAndrewVL, в work_table надо ещё и ссылку на head документа хранить, вот и всё.

вот как раз от этого и отказался.
пока не появились документы без тела.
...
Рейтинг: 0 / 0
07.06.2011, 14:19
    #37298815
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
AndrewVL,

а зачем отказались? ради экономии на спичках?
...
Рейтинг: 0 / 0
07.06.2011, 14:39
    #37298862
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
AndrewVL
work_table
PKbody_idhead_id...111...211..3null24null2


Вот так правильно
...
Рейтинг: 0 / 0
07.06.2011, 14:53
    #37298884
wildwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
AndrewVL,

Понятно.
Мощность этих отношений какая бывает? Может есть смысл хранить эти связи в отдельной таблице. Или как _мод показал.
...
Рейтинг: 0 / 0
07.06.2011, 15:52
    #37299038
AndrewVL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
документы
wildwind,

отказался т.к. всегда делал джойн информаии о человеке к идентификатору в теле + шапка.

а без тела получается джойнить надо к идентификатору в шапке )
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / документы / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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