首页 > 解决方案 > 在数据库中实现“添加到收藏夹”

问题描述

我有一个关于数据库/系统设计的问题。我们有一张桌子和user一张user_id桌子schoolschool_id我们希望实现一项功能,以便用户可以将学校添加到他们的“收藏夹列表”中。user_id我已经创建了第三个表,其中包含和之间的关系school_id。现在我有以下两个问题:

  1. 当用户从“我的收藏”列表中删除一所学校时,我应该将其删除还是保留在数据库中但将其标记为“已删除”?我想保留它,但随着时间的推移,它可能会在表中留下大量垃圾数据。

  2. 前端设计类似于 twitter 上的喜欢/不喜欢按钮。用户可以一键收藏/取消收藏一所学校。有没有什么好的方法可以防止机器人通过单击按钮不断地访问数据库?

提前致谢!

标签: databasesecuritydesign-patternsdatabase-designrelational-database

解决方案


  1. 答案取决于您的应用程序的逻辑。两个建议都可以。
    如果您将来某个时候需要这些数据,或者如果您正在保存用户操作的历史记录,那么您可以将其标记为“已删除”,否则您可以立即将其删除。(另一种方法是将其标记为临时删除,并定期进行清理表的作业)
  2. 我对这种威胁没有足够的经验,但一个简单的解决方案是限制每个用户每秒的 API 调用

推荐阅读