В моем приложении у меня есть «статьи» (похожие на сообщения/твиты/статьи), которые помечены дескриптивными предопределенными тегами: т.е. «трудный», «простой», «красный», «синий», «бизнес» и т. Д.Всегда ли полезно хранить массив в качестве значения поля или хранить значения массива в виде записей?
Эти доступные теги хранятся в таблице, называются «тегами», которые содержат все доступные теги.
В каждую статью можно пометить несколько тегов, которые можно редактировать с помощью специального интерфейса администратора.
Это может быть заманчиво просто связать тег для каждого объекта в строковой массив идентификаторов каждого тега и хранить его вместе с записью статьи в моем «статьях» стол:
id | title | author | tags
---+-------+--------+-------------
1 | title | TG | "[1,4,7,12]"
хотя я Конечно, это плохая идея по ряду причин, есть ли разумная причина сделать это?
Я не знаю PostgreSQL, но, как представляется, поддержка XML, сохранение списка тэгов в виде строки XML может принести существенные преимущества в простой список с разделителями. –