一尘不染

在数据库中实现审阅标志;最佳实践

sql

我需要存储一些与某些实体相关的审阅标记。每个审阅标记只能与一个实体属性组相关。例如,tableParents有一个ParentsStatus标志,而tableChildren有一组ChildrenStatus标志。

在当前的设计方案中,我有三个表:

  • ReviewTypes:存储标志及其相关的属性。
  • ReviewPositions:存储标志可以具有的值。
  • Reviews:存储交易数据,实际评论。就像UsersToFlags:数据库行中的标志,最佳做法

问题是我被迫退缩了,不需要该Reviews表,最好只在每个实体上存储此实际评论数据。例如,添加一个额外的列Parents来保存ParentsStatus。他们认为这是一个更简单的解决方案,将数据分离出来只是解决方案的``杀手涣’‘。

我不喜欢这个想法,因为这意味着每次我们想要添加新的审阅标记时,我们都需要更新核心实体表以保留该标记。

空间不是问题。

人们有什么强烈的意见吗?


阅读 127

收藏
2021-05-30

共1个答案

一尘不染

哦是的。他们的想法比较简单,直到您想增强它为止。考虑到该计划,他们正在提议如果每个实体需要两次审核该怎么办。如果您想附加其他内容,例如注释/注释,该怎么办。一旦他们发现了他们的想法中有多少个充气飞镖,那么您又该如何转变为更有用的飞镖呢?更不用说,您需要某种方式来标识状态字段,这些对象带有易碎的垃圾,例如列名以“
_Status”结尾,或者您必须在某个位置对其进行硬编码。

正确地进行操作并不需要付出更多的努力,也没有变得更加复杂,实际上,从许多方面来说,它都更加简单,并且可以用更少的成本来应对不可思议的变化。

2021-05-30