Главная страница
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.009 c
3-9066
SGrigory
2002-02-06 14:07
2002.03.04
Ошибка в индексе Paradox


4-9338
Ted
2002-01-03 10:38
2002.03.04
Alt+f4


1-9212
Stormick
2002-02-15 00:40
2002.03.04
Ну не ужели никто не знает


3-9087
Марина
2002-02-07 11:19
2002.03.04
Выборка по частичному соответствию (LIKE)


3-9077
dimich
2002-02-06 11:34
2002.03.04
InterBase Server