数据库并不是产品完成之后才考虑的存储层。字段、关系和约束在很早的时候,就已经定义了产品能表达的现实。
先定义事实
建表之前,先区分事实、状态和推导结果。事实应当可以追溯,状态需要明确生命周期,能够计算得到的值则应谨慎持久化。
为变化留下空间
好的模型不是预见所有未来,而是让常见变化不必破坏已有数据。稳定标识、清晰的关系和可回滚迁移,是比“万能字段”更可靠的弹性。
从查询验证模型
把用户真正会执行的查询写出来,通常能快速暴露模型问题。数据模型最终要服务于读取、更新和一致性,而不是只在结构图上显得整齐。