在数据库中实现 "add to favorite"
Implement "add to favorite" in database
我有一个关于 database/system 设计的问题。我们有 table user
和 user_id
以及 table school
和 school_id
。我们想实现一项功能,以便用户可以将学校添加到他们的 "favorites list"。我已经创建了第三个 table,其中包含 user_id
和 school_id
之间的关系。现在我有以下两个问题:
当用户从 "my favorites" 列表中删除一所学校时,我应该删除它还是将其保留在数据库中但将其标记为 "deleted"?我想保留它,但随着时间的推移,它可能会在 table 中留下大量垃圾数据。
前端设计类似于推特上的like/dislike按钮。用户可以一键favorite/unfavorite一所学校。有没有什么好的方法可以防止机器人通过单击按钮不断地访问数据库?
提前致谢!
- 答案取决于您的应用程序的逻辑。两个建议都可以。
如果您将来某个时候需要此数据,或者如果您正在保存用户操作的历史记录,那么您可以将其标记为 "deleted",否则您可以立即将其删除。
(另一种方法是暂时将其标记为已删除,并有一个定期作业来清理 table)
- 我对这种威胁没有足够的经验,但一个简单的解决方案是限制每个用户每秒 API 次调用
我有一个关于 database/system 设计的问题。我们有 table user
和 user_id
以及 table school
和 school_id
。我们想实现一项功能,以便用户可以将学校添加到他们的 "favorites list"。我已经创建了第三个 table,其中包含 user_id
和 school_id
之间的关系。现在我有以下两个问题:
当用户从 "my favorites" 列表中删除一所学校时,我应该删除它还是将其保留在数据库中但将其标记为 "deleted"?我想保留它,但随着时间的推移,它可能会在 table 中留下大量垃圾数据。
前端设计类似于推特上的like/dislike按钮。用户可以一键favorite/unfavorite一所学校。有没有什么好的方法可以防止机器人通过单击按钮不断地访问数据库?
提前致谢!
- 答案取决于您的应用程序的逻辑。两个建议都可以。
如果您将来某个时候需要此数据,或者如果您正在保存用户操作的历史记录,那么您可以将其标记为 "deleted",否则您可以立即将其删除。 (另一种方法是暂时将其标记为已删除,并有一个定期作业来清理 table) - 我对这种威胁没有足够的经验,但一个简单的解决方案是限制每个用户每秒 API 次调用