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

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

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

阿神
阿神

闭关修行中......

répondre à tous(7)
迷茫

Vous pouvez enregistrer 2 entrées dans la table des relations entre amis. Après tout, il ne semble pas intuitif de sauvegarder une entrée. Vous pouvez enregistrer 2 entrées pour interroger l'ami dont l'ID utilisateur est 2 select friend_id from table where user_id = 2. C'est plus difficile de sauvegarder 1 élément, select friend_id from table where user_id = 2 union select user_id from table where friend_id=2. Séparons les tables d'autorisations. La table de relations gère les relations et la table d'autorisations gère les autorisations. Ne le faites pas ensemble, car vous devrez peut-être ajouter d'autres autorisations à l'avenir, et vous rencontrerez certainement des problèmes si vous les mettez dans une seule table. Au moins, ce ne serait pas si gênant si nous nous séparions. Les modifications n'affecteront pas la table de relation

PHPzhong

En fonction des besoins de l'entreprise, je pense personnellement qu'il vaut mieux être plus détaillé

左手右手慢动作

Je pense que ces deux données sont différentes en termes des besoins ultérieurs que vous avez mentionnés. L'utilisateur avec l'ID 1 doit avoir plus d'un ami avec l'ID 2
De plus, d'autres besoins seront réalisés plus tard. c'est bien pour vous d'écrire ensemble

Peter_Zhu

À mon avis, il faut se séparer

Peter_Zhu

Deux articles.
1. L’autre personne est votre ami, mais vous n’êtes peut-être pas celui de l’autre personne.
2. Les paramètres de l’autre partie pour vous peuvent ne pas être les mêmes que vos paramètres pour l’autre partie.

Si vous avez ces deux besoins. Deux, il faut le contraire, un.

伊谢尔伦

Mon expérience est que 2 est mieux. Premièrement : vous êtes mon ami, mais je ne suis peut-être pas votre ami. Deuxièmement : c’est très pratique de vérifier ses amis de cette façon, mais il est difficile de vérifier un seul lien.

De plus, envisageons l'expansion. Si nous changeons les amis en liste noire, alors en utilisant 2 éléments, elle peut être facilement étendue. Après tout, si je vous bloque, vous ne pourrez pas me bloquer.

伊谢尔伦

Deux, semblables à suivre. Si vous le suivez, il ne vous suivra peut-être pas

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal