我今天三次发现了相同的数据库模式

我今天在代码中三次看到了相同的数据库结构。

首先,我在费用(fees)中看到了它。

  • Fee(父级:班级应付的费用)
  • FeePayment(子级:每一笔具体的付款)

然后,我在评估(assessments)中看到了它。

  • Assessment(父级:测验详情、日期和最高分)
  • AssessmentResult(子级:每个学生的成绩)

这种结构可以防止常见的错误。

如果你不使用父子模式,就会面临以下问题:

  • 数据重复。你会在每一行学生数据中重复复制科目和日期。
  • 造成混乱。很难知道哪些行属于同一个事件。
  • 表格臃肿。你将不属于学生行的表头数据也放进了学生行中。

模式识别能力会随时间增长。

第一次修复结构性问题时,它只是一个单一的修复。 第二次看到它时,你会识别出一个模式。 第三次时,你会在遇到问题之前就使用它。

我仍在构建和测试边缘情况。我仍在学习中。

来源:https://dev.to/johnstonkweku/i-spotted-the-same-database-design-pattern-three-times-in-my-own-code-today-4e4d