Это все о том, как вы настраиваете свою базу данных. У меня ограниченный опыт работы с MySql, поэтому мой ответ связан с этим. В этой ситуации у меня были бы по крайней мере эти три таблицы:
-Пользователи (с уникальным идентификатором, связанным с каждым)
-Сообщения: сюда входят как входящие, так и исходящие сообщения. Причина, по которой вы можете поместить их все в одну таблицу, состоит в том, что, если вы следуете за кем-то, он будет извлекать только те сообщения, которые имеют (это один столбец) «исходный идентификатор пользователя» и (это может быть другой столбец) «получающий пользователь» id "или что-то подобное. То, как вы обрабатываете данные, будет зависеть от php или asp или от того, что у вас.
-Comments: здесь содержатся все комментарии для всех сообщений и столбец для уникального идентификатора сообщения, к которому он относится.
При разработке системы следует помнить, что вы никогда не захотите дублировать данные. Поэтому, когда вы публикуете на своей стене, вы не хотите создавать дубликаты сообщений в своей базе данных для всех людей, которые следят за вами, вы хотите, чтобы php отвечал за распространение этой информации для вас.