Ищете хорошую структуру базы данных для получения уведомлений Facebook/SO like
Я хочу иметь возможность получать уведомления на своем сайте, аналогично тому, как это делается. Я искал хорошую структуру таблиц для этого, но, похоже, не могу в этом разобраться.
Я думал о чем-то подобном.
Уведомления
id
, notification_type_id
, user_id
, type_id
Типы уведомлений
id
, notification_text
Где тип уведомления будет относиться либо к новому сообщению, либо к новому комментарию, либо к любым функциям, которые я добавлю позже... Идентификатор пользователя будет относиться к тому, для кого предназначено уведомление. Идентификатор типа и тип уведомления будут идти рука об руку, поэтому, если бы тип notification_type был новым комментарием, идентификатор типа был бы идентификатором комментария для перехода.
Мне это кажется хорошим, но я хочу иметь возможность уведомлять ВСЕХ пользователей, когда что-то меняется.. как и в facebook, когда вы что-то комментируете, вы получаете уведомление о том, что кто-то другой также прокомментировал то же самое после вас.
Кажется, я не могу этого понять... Помогите разыскивается
Спасибо
РЕДАКТИРОВАТЬ: Я думал об этом так: идентификатор notification_type_id будет сопоставляться с таблицей notification_type, в которой будет содержаться текст для каждого уведомления ("У вас есть новый комментарий", "бла-бла-бла также прокомментировал бла-бла-бла" и т. Д.), Идентификатор типа будет сопоставляться с идентификатором primary_id независимо от того, о чем комментарий. например, если в уведомлении говорится, что у вас есть новый комментарий к вашему сообщению, то type_id будет основным идентификатором сообщения для простое связывание.. ИДК, это была просто мысль.
2 answers
Посмотрите на эти вопросы о стековом потоке:
Отслеживание уведомлений о лайках на Facebook (дизайн БД)
Дизайн базы данных для хранения уведомлений пользователям
Обратите особое внимание на этот ответ, который содержит чистое решение вашего запроса.
Не могли бы вы подробнее описать, что такое каждый столбец, потому что ваш текст не очень точен, так как вы упомянули "тип уведомления", а это не столбец в вашем примере. Какой столбец указывает на идентификатор в таблице типы уведомлений: notification_type_id или type_id?