【发布时间】:2018-06-12 22:33:43
【问题描述】:
处理行及其引用表的删除或启用/删除的最佳做法是什么?
例如,假设我有一个非常简单的“论坛”应用程序。
我有一个表 users 包含我的 webapp 帐户,threads 包含用户创建的线程,还有一个表 comments 包含 cmets 用户对线程的评论。
现在,假设在注册时我想在激活用户帐户之前验证用户的电子邮件。最好的方法是什么?什么是最佳实践?也许通过只返回带有字段is_active=true 的行的视图?使用 2 个单独的表,例如 pre_users(包含仍有待验证的用户)和 users(已验证的用户)?
同样,您将如何处理想要暂停其帐户的用户?它的线程和cmets?您会添加另一个标志is_suspended,并更新视图以考虑该标志吗?如果它不是一个视图,而是 2 个单独的表,我该如何处理引用?
另外,删除一个线程。假设在线程删除时我不希望线程被实际删除,因为我不希望发布 cmets 的用户突然看不到他们的 cmets。怎么处理?
解决这类问题的最佳做法是什么?
【问题讨论】:
标签: sql database database-design data-modeling