Поскольку я продолжаю работать над своим сайтом в социальной сети (которую я, вероятно, никогда не закончу), я решил, что мне, вероятно, следует пересмотреть свою таблицу «Обновления». Если вы думаете об этом как о Facebook, в таблице «Обновления» хранятся истории для новостной ленты, например, User_123 изменил свой статус, или SomeOtherUser добавил новое фото/видео, или YetAnotherUser присоединился к группе.
Моя текущая структура таблицы выглядит следующим образом:
ОБНОВЛЕНИЯ
PK Update_ID
Тип
Update_Content
FK Photo_ID
FK Video_ID
FK strong> Owner_ID
FK Group_Wall_ID
FK Friend_Wall_ID
голоса "за"
голоса "против"
отметка времени
В качестве примечания, тип относится к типу обновления (1 – обновление статуса, 2 – пользователь присоединился к группе, 3 – новая фотография и т. д.), а Update_Content – текст статуса или сообщение вида "Пользователь_123 присоединился к группе"
Прямо сейчас, как у меня, когда пользователь публикует обновление на своей «стене», Group_Wall_ID и Friend_Wall_ID по умолчанию равны 0. Принимая во внимание, что если этот пользователь публикует обновление в группе, Group_Wall_ID имеет значение, а Friend_Wall_ID — нет.
Кроме того, если обновление является только обновлением статуса, Photo_ID и Video_ID по умолчанию равны 0. Однако, если обновление представляет собой новую фотографию, Photo_ID будет иметь значение, соответствующее PK в таблице Photos.
Я чувствую, что структура этой таблицы довольно неэффективна и может потребовать некоторых изменений. Может ли кто-нибудь предложить какие-либо изменения, чтобы сделать эту таблицу лучше? Любая обратная связь будет здорово! Спасибо и с праздником!