我们的数据库基于EAV(实体-属性-值)模型设计。 了解EAV模型的人都知道为了获得灵活性而带来的所有问题。
我问我的客户为什么使用EAV模型(灵活性),他们的回答是:他们的实体随时间变化。 因此,今天他们可能拥有一个带有一些属性的表,但在一个月的时间内,可能会添加一些新属性,或者重命名现有属性。 他们需要生成报告,以便在任何时间段内返回并根据该阶段实体的形状查询数据。
我理解这在传统的关系型模型中是不可行的,但我个人认为EAV是反模式。 是否有其他替代模型能够捕获实体和实例中更改的时间维度?
干杯, Mosh