我这些天在某种社交网络上工作,我想知道如何将用户连接存储在数据库中。
我一直在考虑的结构看起来像这样,它非常适合我。我想它反对数据库规范化的第三条规则,但是我没有看到更好的存储连接的方法,因为会有大量的用户(希望如此))并且它没有&#39 ; t为每个新连接创建一个新列是有意义的。
table-name: tbl_users
user_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'添加和/或删除单个值的方法。专栏(例如,当用户使用其他用户的个人资料并点击按钮' connect-with'或者' delete-connection')
并找到连接,例如当用户撰写帖子(按钮' new-post')时,找到所有作者的当前连接并将其保存到我的其他表:' tbl_blogposts' (看起来很奇怪,但我希望那些当前的连接存储在帖子中并且永远不会再被更改,无论作者是谁连接到的,以后):
table-name: tbl_blogposts
post_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
... ... ...
或
- 存储所有这些连接的更好方法