数据库
首页 > 数据库> > mysql – 从数据库中删除“朋友”的最佳做法是什么?

mysql – 从数据库中删除“朋友”的最佳做法是什么?

作者:互联网

假设您有一个表模式,例如:friends(friendship_id,uid1,uid2,are_friends).

当一个朋友与另一个人取消联系时,最好从数据库中删除该行(并重置自动递增)?或者你应该简单地将are_friends状态更改为“N”?

我很想知道你的想法和原因.

编辑:我主要关注的是显示有关朋友状态的一些信息,还会显示谁是谁的朋友.那样在添加的时候我可以通知受害者的请求,但还没有让他们成为朋友.

我最初将are_friends作为一个包含更多选项的大型ENUM.但是在那个ENUM我有删除和阻止等选项,我不确定这是否真的是有用的数据.关于拥有更多数据与更少数据的优点的任何进一步想法?

另外,自我发布以来我已经提出的另一个问题是如何避免重复友谊.你应该把(uid1,uid2)作为主键吗?

解决方法:

如果用户重新与其他用户交友,是否有与您可能要恢复的好友记录相关联的数据?

如果要跟踪其历史记录,或保留与其关系相关的元数据,请保留记录.

如果您不想跟踪他们的历史记录,并且稍后重新发送消息,则不需要用户输入任何额外数据,请将其删除.您将拥有更小的表格,更简单的查询,并且您可能会忘记where-clause并向他们显示已删除的用户朋友的可能性降低.

标签:mysql,database,database-design,social-networking
来源: https://codeday.me/bug/20190722/1497818.html