我已经开始在一个新组织中工作,我在数据库中看到的一种模式是复制字段,以使业务分析师更容易编写查询。我们正在使用Django及其ORM。
在一种情况下,我们保留一个MedicalRecordNumber对象,该对象带有在特定上下文中标识患者的唯一字符串。我们有登记其追踪病人和有关联的对象MedicalRecordNumbers,但不是使用外键关系,他们复制的字符串,使他们能够避免写一个连接(不是由于性能原因)。这种模式在整个数据库中很常见。
对我来说,干净的数据模型的重要性只是为了让我能好好考虑一下。不必要的复杂性浪费了我有限的认知处理时间。这是一个系统的问题。编写连接不舒服是一个可纠正的技能问题。我不一定要提倡返回并更改模式,但我希望能够令人信服地阐明此类重复问题。