在数据库中实现“添加到收藏夹”

时间:2019-03-07 15:56:25

标签: database security design-patterns database-design relational-database

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

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

  2. 前端设计类似于Twitter上的“喜欢/不喜欢”按钮。用户可以一键收藏/收藏学校。有什么好的方法可以防止Bot通过单击按钮来不断访问数据库?

谢谢!

1 个答案:

答案 0 :(得分:0)

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