Работа с базой данных, как лучше всё организовать?
Я хочу добавить к своим статьям теги, но возникло сразу несколько вопросов:
1) Возможно ли добавить к 1 полю сразу несколько значений?
Возьмем мою таблицу: id, autjor, text, tags, после добавления текста с тегами: zzz,xxx, yyy, возможно записать их в поле tags и потом выводить их по отдельности? И возможно ли устроить поиск таким образом?
2)Или стоит создать примерно 5-6 полей tag1,tag2,tag3..., установить ограничение на добавление тегов и добавлять каждый тег в отдельное поле?
рализовать то возможно, но удобство использования просто ад будет. Во 1-ых тег может склонятся. Бывает такое ага. Во вторых контролировать количество тегов на выводе будет просто нереально. Т.е. к примеру ты захочешь сделать страницу с тегами. Как будешь реализовывать ее? Постоянно шарить по базе вытаскивая все разные теги? Далее, чтобы вытащить все посты с каким-то тегом, то надо будет чтобы все эти теги были в индексе, а это дофига лишней потребляемой памяти таблицей.
Сделай отдельную таблицу тэгов и свяжи их через дополнительную таблицу с постом - многие-ко-многим. (HABTM)
Либо напрямую через один-ко-многим, но тогда будет сложнее считать тэги.