mysql - 在 Mysql(或任何)数据库中存储请求的正确方法

标签 mysql sql normalization

在数据库中存储请求的“正确”(最规范化?)方式是什么?例如,用户提交了一篇文章。这篇文章在发布到网站之前必须经过审查和批准。

哪种方式更合适:

A) 将其存储在带有“已批准”字段的 Articles 表中,该字段可以是 0、1、2(拒绝、批准、待定)

B) 有一个与 Articles 具有相同字段的 ArticleRequests 表,并在批准后,将行数据从 ArticleRequests 移动到 Articles。

谢谢!

最佳答案

由于每篇文章都会有一个批准状态,并且每次请求一篇文章时,您很可能需要知道该状态 - 使其与表格保持一致。

尽管如此,请考虑调用字段 ApprovalStatus。您可能希望添加一个相关表来包含每个状态,除非它们不会经常(或永远)更改。

编辑:在相关表中保留字段的原因是:

  • 如果相关字段并不总是适用,或者可能经常为null
  • 如果相关字段只在极少数情况下需要,并且通过使用外键到关联属性的相关表中更好地描述。

在您的情况下,上述原因不适用。

关于mysql - 在 Mysql(或任何)数据库中存储请求的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244474/

相关文章:

mysql - 第二范式中的 E-R 模式

audio - 创建音频电平表 - 信号标准化

mysql - 如何使用值填充 MySQL 表中的一列而不出现 "Not all parameters were used"编程错误?

MySql 字符串替换查询不起作用

sql - sql server中的子查询与内部联接

SQL 两个表的不同计数与连接

mysql - 在 Cordova/Ionic 应用程序中通过 USB 在桌面移动设备之间同步数据

php - 如何连接多个表,其中某些列(并非全部列)相同并返回每列的总和?

php - 如何使用 Laravel/PHP 和 MySQL 高效地将数组插入为嵌套集模型

mysql - 两个表通过引用表引用单个表