Вопрос по созданию таблиц в postgres

Есть такая задача: создать несколько таблиц, в которых необходимо поместить выдержки из новостных статей (задачу не сам придумал, поэтому не сетуйте на странность). В основной таблице будут такие столбцы: id, заголовок, описание, автор (ссылка на таблицу справочник, где подробные данные об авторе), дата опубликования, url, еще несколько столбцов со ссылкой на справочник и... столбец tags. То есть в основной таблице будет номер тега (причем не один), а в справочнике его описание Так вот, если у статьи несколько тегов, как прописать references к таблице-справочнику? Возможно ли это?


Ответы (1 шт):

Автор решения: Roman Konoval

Правильней всего, это создать дополнительную таблицу:

CREATE TABLE article_tag (
   article_id integer,
   tag_id integer,
   FOREIGN KEY (article_id) REFERENCES article (id),
   FOREIGN KEY (tag_id) REFERENCES tag (id),
   CONSTRAINT article_tag_pkey PRIMARY KEY (article_id, tag_id)

и хранить тег для статьи в виде записи в этой таблице.

→ Ссылка