powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Условный foreign key
4 сообщений из 4, страница 1 из 1
Условный foreign key
    #32146487
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Возможно ли средствами Interbase создать subj.

Простой пример.
Допустим существует 2 таблицы: ЮридическиеЛица и ФизическиеЛица.
Существует таблица АдресаЛиц, в которой поле ТипВладельцаАдреса для юридических лиц = 1, а для физических = 2.
При этом idВладельца = idЛица соответствующей родительской таблицы.

И поскольку скорее всего ответ на мой вопрос: "Невозможно", то какие есть варианты решения задачи?
...
Рейтинг: 0 / 0
Условный foreign key
    #32146508
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря особо не понял примера, но условный форен кей можно реализовать на триггере например
...
Рейтинг: 0 / 0
Условный foreign key
    #32146542
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не очень сложно, можно объяснить, насколько будет отличаться поведение следующих вариантов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 1 . Table T1(id: integer not null primary key);
   Table T2(id: integer, idT1: integer references T1 (id) on delete cascade);

 2 . Table T1(id: integer not null primary key);
   Trigger на T1 before delete
     Delete from T2 a where a.id=old.id;

   Table T2(id: integer, idT1: integer);
   Trigger на T2 before insert
     if (not exists (select a.id from T1 a where id=new.id)) then Exception BadRef;
   Trigger на T2 before update
     if (not exists (select a.id from T1 a where id=new.id)) then Exception BadRef;
...
Рейтинг: 0 / 0
Условный foreign key
    #32147250
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничем
даже первый вариант предпочтительнее, потому как нарисовав табличку 3 нужно помнить, что надо реализовать триггер, а тут все автоматом.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Условный foreign key
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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