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

Вниз

Как быть с циклическими ссылками в таблицах??   Найти похожие ветки 

 
bsa   (2002-02-05 15:56) [0]

Доброго времени суток.
Столкнулся с ситуацией, и не знаю как правильно ее решить. Способов много, но может быть главного и правильного я не знаю. Помогите, пожалуйста. Суть вопроса такова (усеченно и упрощенно):
Есть таблица типов ТТ, есть подчиненные таблицы объектов ТО1 и ТО2, четвертая таблица ТЧ подчинена и ТО1, и ТО2. И все бы ничего, но в возникшем цикле, в таблице ТЧ должны встречаться объекты из ТО1 и ТО2 принадлежащие одному типу из ТТ. Предметная область такова и ничего с этим не поделаешь. Как решается вопрос достоверности и целостности информации в таких случаях?


 
Gregory   (2002-02-06 08:44) [1]

1. Например, весь контроль целостности возложить на хранимые процедуры - тогда конечно с этими таблицами, напрямую, уже не работать. В этом случае декларативную ссылочную целостность можно
2. Используя триггеры
3. Если в TO1 и TO2 ключ будет составным, состоящим из поля ссылающегося на TT и id в пределах типа TT, то можно так (стандарта SQL в описании придерживаться не буду :) ):

table TT ( id )
add primary key( id )
table TO1 ( id, tt_ref )
add primary key( id, tt_ref )
add foreign key( tt_ref ) references TT
table TO2 ( id, tt_ref )
add primary key( id, tt_ref )
add foreign key( tt_ref ) references TT
table T4 ( id_to1, id_to2, tt_ref )
add primary key( id_to1, id_to2, tt_ref )
add foreign key( id_to1, tt_ref ) references TO1
add foreign key( id_to2, tt_ref ) references TO2

В этом случае ты можешь в T4 объединять записи только из одного TT



Страницы: 1 вся ветка

Текущий архив: 2002.03.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-9220
Zluka
2002-02-15 12:17
2002.03.04
TFileStream


6-9265
Evgenii
2001-12-14 23:09
2002.03.04
Народ, помогите, как звонить через Modem.


14-9296
Digitman
2002-01-15 18:33
2002.03.04
Барышни, наслушавшись здешнего бреду, покидают нас ?


1-9143
Hewlping
2002-02-17 19:03
2002.03.04
Помогите!


3-9052
sgs
2002-02-06 12:13
2002.03.04
Был бы очень рад если кто помог бы с запросом...