Использование массива в author_id int ссылается на пользователя (id)
На https://github.com/calebmer/postgraphql автор показывает схему:
create table post (
id serial primary key,
author_id int non null references user(id),
headline text,
body text,
…
);
Как бы мне пришлось переписать схему, если бы я хотел сослаться на нескольких авторов и ссылаться на них, используя массив? Будет ли это: author_id int[] non null references user(id)
?
1 ответ
Решение
Вы можете. Но вы не должны.
с проверочным ограничением
Вы можете добавить проверочное ограничение с помощью функции, которая контролирует это.
Недостаток: это не внешний ключ
с триггером и знакомым столом
Вы можете добавить таблицу post_author
и заполнить его On insert or update
спусковой крючок.
Недостаток: он сложен и дублирует информацию.