java - 好友关系表数据的存储问题,存一条还是两条?
阿神
阿神 2017-04-18 10:33:38
0
7
669

项目中设计好友关系,存储在一张表里面
现有用户id为2和3加为好友
好友关系表:

id user_id friend_id
1 2 3
2 3 2

这两条数据是否是一样的?还是应该存为一条数据?

后续可能还会有权限相关设计
如:

id user_id friend_id 是否允许查看自己的动态 是否查看对方的动态消息
1 2 3
2 3 2

这种情况是存在一张表里面,还是将权限和好友关系分开,单独存一张权限表

阿神
阿神

闭关修行中......

全部回覆(7)
迷茫

好友關係表可以存2條,畢竟存一條看著不直觀,存2條查詢user_id為2的好友可以select friend_id from table where user_id = 2 。 存1条的话比较麻烦些,select friend_id from table where user_id = 2 union select user_id from table where friend_id=2。對於權限表還是分開吧. 關係表就維護關係,權限表就維護權限。不要在一起,因為以後指不定還要加其他權限,要弄在一張表裡一定會遇到麻煩。分開的話至少沒那麼麻煩。修改起來也不會影響關係表

PHPzhong

看業務需求,個人覺得細一點好

左手右手慢动作

感覺就你說的後來的需求來說這兩條數據並不一樣id為1的用戶他有自己的好友肯定不止id為2的這麼一個
再者到後李實現別的需求的時候你寫一起也不好

Peter_Zhu

依我看是有必要分開的

Peter_Zhu

兩條。
1,對方是你的好友,你未必是對方的。
2,對方對你的設定和你對對方的設定未必是一致的。

如果有這兩個需求。兩條,需求反之,一條。

伊谢尔伦

我個經驗是2條比較好。第一:你是我的好友,我未必一定是你的好友。第二:這樣做查詢好友太方便了,一條的話查詢麻煩。

另外,我們考慮一下擴展,如果把好友改成黑名單,那麼用2條的話,很容易就能擴展。畢竟我拉黑你,你未必拉黑我。

伊谢尔伦

兩條吧,類似關注的那種.你關注他,他不一定關注你

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板