Так ли это ужасно?

Invizz

Новичок
Так ли это ужасно?

Видел в одном блоггере следующую структуру

таблица posts
таблица categories
таблица post2cat

последняя содержит записи типа:
relate_id, post_id, cat_id

То есть, пихает в категорию пост.
Выглядит с моей позиции новичка, как то стремно - много записей. Но мне стало ясно почему так сделано: один пост может относиться к нескольким категориям.

А вопрос связан вот с чем:
Встала задача сделать отношения между юзермаи, типа, друзья. Кто кому друг.

Сначала думал сделать просто в две колонки, типа:
user_id relations
В релейшнс пихать сериалайзнутый массив.

Но теперь думаю, сделать, аналогично той таблице post2cat.

Что скажете? Спасибо.
 

svetasmirnova

маленький монстрик
Это прекрасно. Гугл на тему нормализация и основы проектирования баз данных.
 

Invizz

Новичок
Я, конечно, уже делал это и не раз, но тут стало интересно - насколько это оправдано. Дело в том, что по основам проектирования бд пишут всякие вещи, типа ключей и прочей фигни.

Тут же, интересно, что лучше (хуже):
- Много записей в бд
- Сериалайзнутый массив в бд

Если есть все же линк не на то, что я нашел - буду рад принять в дар.

Upd: Или это не был сарказм? Извините, я сейчас не очень соображаю.
 

white phoenix

Новичок
> сериалайзнутый массив.
Забудь про него, его для таких целей не используют. Я сделал бы таблицу:
`user_id`, `friend_id`, можно выбирать "У кого в друзьях Василий Пупкин?".
 

Invizz

Новичок
то есть как раз этим методом? Спасибо, буду пробовать!
 

white phoenix

Новичок
> то есть как раз этим методом?
Да. Еще есть идея хитрого logical_and `friend_id`, высплюсь и обдумаю целесообразность.
 
Сверху