Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / News feed / 1 сообщений из 1, страница 1 из 1
29.11.2011, 13:11
    #37549751
sts_stas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
News feed
Какая структура базы данных (таблиц) должна быть чтобы показывать активность тех на кого ты подписан.
Например: вы подписаны на группу, на пользователя и на тег. Соответственно какая должна быть стуктура базы данных, чтобы показывать активность в этих сущностях?

Структура имеющихся таблиц следующая:

User:
id
first_name
last_name

Group:
id
user_id (FK - User)
name

GroupTopic:
id
user_id (FK - User)
group_id (FK - Group)
name
message

Tag:
id
user_id (FK - User)
name

GroupTag
group_id (FK - Group)
tag_id (FK - Tag)

GroupFollower:
group_id (FK - Group)
user_id (FK - User)

TagFollower:
tag_id (FK - Tag)
user_id (FK - User)

Допустим я подписан на группу и на тег, т.е. мой user_id есть в таблицах GroupFollower и TagFollower, как мне в таком случае отслеживать например то, что в теге на который я подписан появилась новая группа, т.е. добавилась запись в таблицу GroupTag или то, что в группе на которую я подписан появился новый топик, т.е. добавлена запись в таблицу GroupTopic. Я так полагаю должна быть некая таблица Activity

Activity:
id
user_id (FK - User) - пользователь сделавший изменение
.....

А вот дальше не понятно какие должны быть поля и как должен выглядеть запрос, чтобы получить все изменения по группам, топикам и т.д. в виде как например "В теге ТЕГ1 появилась новая группа" или "В группе ГРУППА1 появился новый топик".
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / News feed / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]