Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Внешний ключ в массиве / 3 сообщений из 3, страница 1 из 1
23.11.2015, 17:57
    #39111333
big-trot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ в массиве
Требуется
Код: sql
1.
2.
3.
CREATE TABLE table1 (id_1 SERIAL CONSTRAINT id_1_pk PRIMARY KEY);
CREATE TABLE table2 (id_2 SERIAL CONSTRAINT id_2_pk PRIMARY KEY,
arr_id_1 INTEGER [] CONSTRAINT arr_id_1_fk REFERENCES table1 (id_1));



Понимаю что так нельзя.
Хотелось бы услышать какие варианты могут быть для реализации данного требования.
Спасибо.
...
Рейтинг: 0 / 0
23.11.2015, 18:30
    #39111368
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ в массиве
big-trotТребуется
Код: sql
1.
2.
3.
CREATE TABLE table1 (id_1 SERIAL CONSTRAINT id_1_pk PRIMARY KEY);
CREATE TABLE table2 (id_2 SERIAL CONSTRAINT id_2_pk PRIMARY KEY,
arr_id_1 INTEGER [] CONSTRAINT arr_id_1_fk REFERENCES table1 (id_1));



Понимаю что так нельзя.
Хотелось бы услышать какие варианты могут быть для реализации данного требования.
Спасибо.
а какое поведение ON DELETE | ON UPDATE хотелось бы видеть ?
CASCADE | RESTRICT | SET NULL | SET DEFAULT ?

из естественного -- триггерно агрегировать реальный FK -- т.е. вместо array-я редактировать set. (третья табличка)

из не очень -- повесить триггера на обе [ваши] таблички, с проверкой и поведением.
...
Рейтинг: 0 / 0
24.11.2015, 12:47
    #39111992
PCContra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внешний ключ в массиве
big-trotТребуется
Код: sql
1.
2.
3.
CREATE TABLE table1 (id_1 SERIAL CONSTRAINT id_1_pk PRIMARY KEY);
CREATE TABLE table2 (id_2 SERIAL CONSTRAINT id_2_pk PRIMARY KEY,
arr_id_1 INTEGER [] CONSTRAINT arr_id_1_fk REFERENCES table1 (id_1));



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


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