在数据库中实施审查标志;最佳实践

2024-04-14

我需要存储一些与某些实体相关的评论标志。每个审核标志只能与单个实体属性组相关。例如表Parents has a ParentsStatus旗帜和桌子Children有一组ChildrenStatus flags.

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

  • ReviewTypes:存储标志及其相关属性。
  • ReviewPositions:存储标志可以具有的值。
  • Reviews:存储交易数据、实际评论。它就像 UsersToFlags:数据库行中的标志,最佳实践 https://stackoverflow.com/questions/124844/flags-in-a-database-rows-best-practices.

问题是我遭到拒绝,认为没有必要Reviews表,最好只存储每个实体的实际评论数据。例如添加一个额外的列Parents持有ParentsStatus。他们认为这是一个更简单的解决方案,并且对于我们的场景来说,将数据分离出来只是“矫枉过正”。

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

空间不是问题。

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

Edit:

此评论适用于三个答案。共识是关系方法是最好的,但我认为我需要更多地阅读 EAV 模型,因为一些非常基本的阅读了解 EAV 数据库模型的最佳初学者资源? https://stackoverflow.com/questions/494158/best-beginner-resources-for-understanding-the-eav-database-model及其相关链接似乎并不是超级简单,我不想给自己挖坑。感谢野普拉瑟。一旦我读得更多一点,我就会循环回来。


哦是的。他们的想法更简单,直到你想增强它。鉴于该计划,他们提出如果每个实体需要进行两次审查会怎样。如果您想附加其他内容(例如注释/注释)怎么办?一旦他们发现他们的想法有多像一个充气飞镖靶,你需要做什么才能换成更有用的飞镖靶呢?更不用说您需要某种方式来识别状态字段,例如列名以“_Status”结尾的脆弱垃圾,或者您必须在某个地方对它们进行硬编码。

正确地做到这一点并不需要更多的工作,也不会更复杂,事实上在很多方面它更简单,并且将以低得多的成本应对不可避免的变化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在数据库中实施审查标志;最佳实践 的相关文章

  • 如何使用 C# 从数据库中检索多个图像

    我有一个包含9张图像的数据库 这些图像不断变化 所以我无法直接设置src在 HTML 中 img 标签来显示 9 个图像 我必须从数据库中选择它们并相应地绑定它们 我可以使用以下命令检索并打印 1 张图像Response BinaryWri
  • 如何从单行创建多行 - 规范化表

    我对 SQL 很陌生 并试图弄清楚这一点 我有一个名为 BUDGET 的表 其中包含一年中每个月的 12 列 显示该月的预算余额 所以表格看起来像这样 Department Year Month1 Month2 Month12 ABCD 2
  • 我怎样才能从表中获得第一个免费ID

    我有一个带有主键字段 ID 的表 我不想使用身份 因为我需要为用户提供手动为新对象选择 ID 的可能性 所以我的想法是 默认情况下 在编辑视图中 ID 字段将为 0 如果用户不更改它 我需要找到第一个免费ID并使用它 如果用户更改 ID 我
  • EntityFramework 6 AddOrUpdate 不适用于复合或复合主键

    这个问题是我周末的噩梦 我有一张桌子AddOrUpdate无法正常工作 它不断添加但从不更新 我想做的就是当我使用以下命令将新实体添加到表中时AddOrUpdate我想要它检查AppointmentId and CompletionCode
  • 带有mysql的实体框架,linux和windows之间的表大小写问题

    我们目前正在开发一个使用 Code First Entity Framework 和 Mysql 的产品 开发数据库托管在 Windows 环境中 而生产 mysql 则托管在 Linux 环境中 我遇到的问题是 mysql 中的表命名如下
  • 无法使用 LISTAGG

    SELECT deptno LISTAGG ename WITHIN GROUP ORDER BY ename AS employees FROM emp GROUP BY deptno Error ORA 00923 FROM keywo
  • 获取标签包含 GROUP_CONCAT 字段的所有文章

    我有一张桌子articles 其他tags 第三个称为article tags 我想生成一个页面 其中列出特定标签的所有文章 我的查询如下所示 SELECT headline GROUP CONCAT tags tag name AS al
  • MS Access 2007 中 NVL 功能的替代方法是什么

    我在 MS Access 中编写了一个 SQL 查询 select NVL count re rule status 0 from validation result re validation rules ru where re cycl
  • 查找分区内最大的连续数字组

    我有以下按player id 和match date 排序的数据 我想找出连续运行次数最多的记录组 从2014 04 03到2014 04 12连续3次运行4次 player id match date runs 1 2014 04 01
  • 尝试使用 Redshift SQL 对累积不同实体进行计数

    我正在尝试获取某个时间序列中 Redshift 中不同对象的累积计数 最简单的事情就是使用COUNT DISTINCT myfield OVER ORDER BY timefield DESC ROWS UNBOUNDED PRECEDIN
  • 根据 rowversion 值更新记录?

    我最近实现了SQLrowversion以防止我的系统中出现并发问题 我用rowversion更新表中的单行时在 where 子句中 到目前为止 我已经测试过 似乎是一个很好的解决方案 现在我正在寻找一种简单的方法来在我的系统中实现此功能 这
  • BigQuery 中的 EXP() 返回浮点错误

    我有以下查询 SELECT EXP col FROM project dataset tablename Where col is FLOAT 但是 我收到此错误 Error Floating point error in function
  • 在列名中使用保留字

    这是一些简单的代码 但我只是不知道为什么我不能使用这个词作为表的实体 CREATE TABLE IF NOT EXISTS users key INT PRIMARY KEY NOT NULL AUTO INCREMENT username
  • 检索多行最后插入的 id

    当将数据插入具有自动递增 PK 的表时 我需要获取该密钥以在另一个语句中使用 正如许多问题所示 这可以在 PHP 中使用mysql insert id 但是 我一直将插入内容分组在一起 因此一次插入不止一行 我这样做是因为我猜测可能会存在一
  • mysql非空字段计数

    我想计算 mysql 中特定字段集有多少字段为空 我找到了一些示例 但它们都遍历整个表 基本上我有8个字段 listing photo 1 到listing photo 8 我想知道其中有多少个被填充 I tried result mysq
  • 是否需要显式事务回滚?

    许多例子都主张显式回滚数据库事务 大致如下 using var transaction try do some reading and or writing here transaction Commit catch SqlExceptio
  • 通过 Liquibase 从 SQL 脚本创建函数

    项目配置 数据库 MySQL 5 7 orm Hibernate 4 3 11 Final JPA 1 3 1 RELEASE 液体库 3 4 2 当我仅从 Liquibase 从 workBeanch 运行脚本时 我的问题不存在
  • 如何将 SELECT...INTO 与 JOIN 一起使用?

    我有以下示例代码 DECLARE myRow table rowtype myVar table2 column type BEGIN SELECT table col1 table col3 table col4 table2 colum
  • 如何使用带有 IF EXISTS 子查询的 SQL Select 语句?

    如何使用 IF EXISTS 语句 SQL Server 从子查询中选择布尔值 它应该是这样的 SELECT TABLE1 Id NewFiled IF EXISTS SELECT Id FROM TABLE2 WHERE TABLE2 I
  • 如何在网格视图中突出显示文本的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 如何突出显示某个单词 https stackoverflow com questions 9546761 how can i highlight a word 我有一个网格视图和一个文本框 用于从列中

随机推荐

  • Request.Unvalidated 在 asp.net-core 上在哪里?

    我注意到在classic ASP NET MVC有一个Unvalidated属性于Request它允许访问当前请求提供的原始值 我无法在 ASP NET MVC 上识别此属性Core 还有办法访问该信息吗 ASP NET Core 不具有与
  • 为什么Java需要Serialized接口?

    我们大量地进行序列化工作 并且必须在我们使用的每个对象上指定可序列化标签是一种负担 尤其是当它是我们无法真正更改的第 3 方类时 问题是 由于 Serialized 是一个空接口 一旦添加 Java 就会提供健壮的序列化implements
  • Django:重建通过 $.post 发送的结构化参数

    我正在发送带有结构化发布数据的 Ajax 请求 使用 jQuery post myUrl items code a description aaa code b description bbb 我所看到的request POST is
  • 签名 APK 中的空响应 - 调试 APK 中的正确响应

    我正在使用 Retrofit 进行网络调用 我在签名 APK 时面临奇怪的问题 改造请求 FormUrlEncoded Headers Accept application json POST Call
  • 如何在 VB.NET 中每 x 分钟调用一个函数?

    如何每 x 分钟调用一个函数 我想我必须在表单中添加一个计时器 这是一个简单的例子 Public Class SampleCallEveryXMinute Private WithEvents xTimer as new System Wi
  • 总是在 Perl 脚本结束之前执行一些代码

    如何设置在 Perl 脚本停止之前必须执行的代码 In here 如何在perl脚本退出之前运行一段代码 https stackoverflow com questions 3078508 how to run piece of code
  • 调用app.MainLoop()后更新wxPython进度条

    我有一个执行计算的 python 脚本 并且我已经为弹出 wxPython 进度条创建了一个类 目前我有 app wx App progress ProgressBar app MainLoop for i in xrange len to
  • Android:设置自定义字体时出现异常

    自一小时以来 我一直在绞尽脑汁地从代码中设置自定义字体到文本 我已经在之前的项目中做到了这一点 而且它有效 但我不知道出于什么原因 它给了我例外 无法制作原生字体 在这里 我已经解决了许多与此相关的问题 并尝试了建议的解决方案并适用于这些情
  • 是否可以从我自己的 AoG 应用程序的实现中触发另一个 Actions on Google 应用程序? [复制]

    这个问题在这里已经有答案了 此问题专门与 Google Apps 上的操作有关 涉及触发事件 操作以使助手为最终用户选择另一个 AoG 应用程序的能力 专门用于触发其他人的 AoG 应用程序 而不是您编写的应用程序 Idea 我想创建一个自
  • 轴位于中心的 R 图

    默认情况下 R 中的笛卡尔轴位于图的底部和左侧 如何使轴居中 如下图所示 Example using data generated by bgoldst estimate curve x lt seq 1 1 5 0 1 y lt c 1
  • 使用 Hibernate 映射双向列表

    我不明白映射双向列表时 Hibernate 的行为 Hibernate 生成的 SQL 语句对我来说似乎不是最佳的 有人可以启发我吗 场景如下 我有一对多的父子关系 我用双向列表来映射这种关系 根据Hibernate 注解参考指南 http
  • AngularJS:如何在模板内设置变量?

    我怎样才能避免 f 第三行语句打印出内容forecast day iso 我想避免使用forecast day iso temperature每次迭代依此类推 div index day iso day name f forecast da
  • IE9 文本渲染问题 - 字母尾部被切断

    我遇到了一个问题 在 IE9 标准模式下 IE9 以降序字母的尾部 q p y 等 消失的方式呈现文本 已尝试使用填充和其他常见的 CSS 设置来帮助解决此问题 但到目前为止我还没有运气 谁知道这可能是什么 EDIT 我在博客上找到了这个
  • Glassfish 3.1.1:在 RESTful Web 服务中检索 HTTP 身份验证

    我正在使用基于我的客户表的 HTTP 身份验证 用户通过身份验证后 将调用静态 Web 服务 但是我如何在 Web 服务中访问 HTTP 身份验证 HttpRequest 的标头数据 我的代码如下所示 GET Path id Produce
  • 战舰人工智能在一定规则下沉没部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在寻找在某些规则下是否可以为战舰沉
  • 使用 msbuild 扩展包验证文件夹是否存在?

    如何使用 msbuild 扩展包任务可靠地验证文件夹是否存在 我怎样才能做到这一点而不引发错误并停止构建 您可以在目标上使用 Exists 条件吗 仅当与 msbuild 文件位于同一目录中存在名为 Testing 的目录或文件时 才会执行
  • 如何循环访问类的属性?

    C 有没有办法循环遍历类的属性 基本上我有一个包含大量属性的类 它基本上保存大型数据库查询的结果 我需要将这些结果输出为 CSV 文件 因此需要将每个值附加到一个字符串中 最明显的方法是将每个值手动附加到字符串中 但是有没有一种方法可以有效
  • 如何对一组和进行求和? SQL Server 2008

    我有一个查询sum像这样 SELECT Table1 ID SUM Table2 Number1 Table2 Number2 AS SumColumn FROM Table1 INNER JOIN Table3 ON Table1 ID
  • 如何在 Spring Hibernate 运行时设置数据库名称

    问题描述 Spring中有一个类叫做AbstractRoutingDataSource这将适合您的要求 浏览文档 您将找到一些有关如何实现具体类的帮助 您需要更改 或添加 现有代码的某些部分才能配置动态Data source 这个博客 ht
  • 在数据库中实施审查标志;最佳实践

    我需要存储一些与某些实体相关的评论标志 每个审核标志只能与单个实体属性组相关 例如表Parents has a ParentsStatus旗帜和桌子Children有一组ChildrenStatus flags 在当前的设计方案中 我有三个