хранить пользовательские подключения в базе данных (например, в социальных сетях) + добавить / найти / изменить / удалить

Сейчас я работаю в какой-то социальной сети, и мне интересно, как я могу хранить пользовательские соединения в базе данных.

Структура, о которой я думал, выглядит примерно так, и она мне очень подходит. Я предполагаю, что это противоречит третьему правилу нормализации БД, но я не вижу лучшего способа хранения соединений, так как будет большое количество пользователей (надеюсь;)), и не имеет смысла создавать новые колонка для каждого нового соединения.

table-name: tbl_usersuser_id                username                connected_users
----------------       ----------------        --------------------
1                      Freak                  2,4
2                      Banana                 1,3,5
3                      MacKing                1,2,4,5
4                      Nightmare
5                      Dreamer                2,3
...                    ...                    ...

То, что я ищу, это:

— способ добавить и / или удалить отдельные значения из столбца «connected_users» (например, когда пользователь находится в профиле другого пользователя и нажимает кнопку «соединиться с» или «удалить соединение»)

и найти связи, например, когда пользователь пишет сообщение (кнопка «new-post»), чтобы найти все текущие подключения авторов и сохранить их в моей другой таблице: «tbl_blogposts» (кажется странным, но я хочу, чтобы эти текущие подключения были сохранены в пост и никогда не будет изменен снова, независимо от того, с кем автор связан, позже):

table-name: tbl_blogpostspost_id                author                connected_users
----------------       ----------------        --------------------
1                      1                      2,4
2                      3                      1,2,4,5
3                      3                      1,2,4,5
4                      5                      2,3
5                      2                      1,3,5
...                    ...                    ...

или же

— лучший способ хранить все эти соединения

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …