我今天三次发现了相同的数据库模式
我今天在代码中三次看到了相同的数据库结构。
首先,我在费用(fees)中看到了它。
- Fee(父级:班级应付的费用)
- FeePayment(子级:每一笔具体的付款)
然后,我在评估(assessments)中看到了它。
- Assessment(父级:测验详情、日期和最高分)
- AssessmentResult(子级:每个学生的成绩)
这种结构可以防止常见的错误。
如果你不使用父子模式,就会面临以下问题:
- 数据重复。你会在每一行学生数据中重复复制科目和日期。
- 造成混乱。很难知道哪些行属于同一个事件。
- 表格臃肿。你将不属于学生行的表头数据也放进了学生行中。
模式识别能力会随时间增长。
第一次修复结构性问题时,它只是一个单一的修复。 第二次看到它时,你会识别出一个模式。 第三次时,你会在遇到问题之前就使用它。
我仍在构建和测试边缘情况。我仍在学习中。