Главная страница
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.012 c
1-9139
kaif
2002-02-17 12:56
2002.03.04
Почему много ссылок на BPL?


3-9098
Анонимщик
2002-02-05 19:23
2002.03.04
Grid index out of range


1-9141
SireX
2002-02-17 16:27
2002.03.04
INI Files


6-9244
rubin
2001-12-11 11:57
2002.03.04
Выход в интернет ч-з HTTPS Proxi


3-9074
Drik
2002-02-04 20:29
2002.03.04
QReport & печать на принтер