検索

ホームページ  >  に質問  >  本文

java - 好友关系表数据的存储问题,存一条还是两条?

项目中设计好友关系,存储在一张表里面
现有用户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

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

阿神阿神2889日前674

全員に返信(7)返信します

  • 迷茫

    迷茫2017-04-18 10:35:38

    友達関係テーブルには 2 つのエントリを保存できます。結局のところ、user_id が 2 の友達をクエリするために 2 つのエントリを保存するのは直感的ではありません。権限テーブルを分離しましょう。関係テーブルは関係を維持し、権限テーブルは権限を維持します。将来的に他の権限を追加する必要が生じる可能性があり、それらを 1 つのテーブルに配置すると間違いなく問題が発生するため、これを同時に実行しないでください。少なくとも別居してもそんなに面倒なことはないだろう。変更は関係テーブルには影響しません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

    返事
    0
  • PHPz

    PHPz2017-04-18 10:35:38

    ビジネス上のニーズにもよりますが、個人的にはもっと詳しい方が良いと思います

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 10:35:38

    ID 1 のユーザーには、ID 2 の友達が複数いるはずです
    この 2 つのデータは、後で他のニーズに気づいたときに、一緒にダメだと書きます

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:35:38

    私の意見では、分離する必要があります

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:35:38

    アイテムは2つ。
    1. 相手はあなたの友達ですが、あなたは相手の友達ではないかもしれません。
    2. 相手のあなたに対する設定は、相手に対するあなたの設定と同じではない可能性があります。

    これら 2 つのニーズがある場合。 2 つ、その逆が必要です。1 つです。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:35:38

    私の経験では、2 の方が優れています。まず、あなたは私の友達ですが、私はあなたの友達ではないかもしれません。 2番目: この方法で友達を確認するのはとても便利ですが、リンクを 1 つだけ確認するのは面倒です。

    さらに、フレンドをブラックリストに変更すると、2つのアイテムを使用して簡単に拡張できます。結局のところ、私があなたをブロックしても、あなたは私をブロックしないかもしれません。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:35:38

    2、あなたが彼をフォローしても、彼はあなたをフォローしない可能性があります

    返事
    0
  • キャンセル返事