在数据库中存储请求的“正确”(最规范化?)方式是什么?例如,用户提交了一篇文章。这篇文章在发布到网站之前必须经过审查和批准。
哪种方式更合适:
A) 将其存储在带有“已批准”字段的 Articles 表中,该字段可以是 0、1、2(拒绝、批准、待定)
或
B) 有一个与 Articles 具有相同字段的 ArticleRequests 表,并在批准后,将行数据从 ArticleRequests 移动到 Articles。
谢谢!
最佳答案
由于每篇文章都会有一个批准状态,并且每次请求一篇文章时,您很可能需要知道该状态 - 使其与表格保持一致。
尽管如此,请考虑调用字段 ApprovalStatus
。您可能希望添加一个相关表来包含每个状态,除非它们不会经常(或永远)更改。
编辑:在相关表中保留字段的原因是:
- 如果相关字段并不总是适用,或者可能经常为
null
。 - 如果相关字段只在极少数情况下需要,并且通过使用外键到关联属性的相关表中更好地描述。
在您的情况下,上述原因不适用。
关于mysql - 在 Mysql(或任何)数据库中存储请求的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244474/