Здравствуйте! Прошу совета по организации структуры базы данных. К примеру, мне требуется хранить в БД комментарии к разным постам... Так вот, как и почему лучше организовать структуру. 1 Вариант: Хранить комментарии в отдельной таблице, с уникальным идентификатором для каждого и указанием идентификатора поста, к которому эти комменты относятся. 1 вчерашний коменнтарий 5 пост 2 мой комментарий 5 пост 3 коменнтарий отца 5 пост 2 Вариант: Хранить комментарии в отдельной таблице, ЧЕРЕЗ ЗАПЯТУЮ, указав идентификатор поста к которому они относятся. 1 вчерашний коменнтарий,мой комментарий,коменнтарий отца 5 пост --- Скорее всего первый вариант наиболее правилен... Но второй может быть проще, т.к. НИКАКИХ МАНИПУЛЯЦИЙ С ЭТИМИ ЗАПИСЯМИ В ДАЛЬНЕЙШЕМ НЕ БУДЕТ! Если все так, прошу также разъяснить случай КОГДА ДОПУСТИМО ИСПОЛЬЗОВАНИЕ ВТОРОГО ВАРИАНТА.
Конечно, первый вариант. Странные мысли Вам в голову лезут. Примерная структура, навскидку: Posts: id | blog_id | title | content | created_by | date_created | date_updated | post_type | status | allow_comments | rating | answers Comments: id | post_id | content | created_by | date_created | status Если используешь второй вариант - как будешь удалять или редактировать неугодный коммент? Да и вообще это неправильно. Много гемора будет ненужного. Второй вариант можно использовать так: Например, тебе нужно хранить результаты голосования по опросу. Опрос - разновидность поста, например, post_type = 1 - это пост, post_type = 2 - голосование. Каждый пост имеет все также множество комментариев. При голосовании сюда ничего не пишем. Мы пишем в Posts.answers результаты голосования в формате json. С json вообще очень удобно работать, редактировать и т.д. Очень полезный формат, советую, тем более mongodb на json работает. В общем, почитай на тему 'json php'. Пригодится, если тебя мучают подобные вопросы)