Eav For Artisan.

0.1.1 2019-12-10 10:24 UTC

README

进行中

EAV

实体-属性-值模型(EAV)是一种数据模型,它以高效的空间方式编码实体,其中可用于描述实体的属性(属性、参数)的数量可能非常大,但实际上应用于特定实体的数量相对较小。

wikipedia

文档

EAV 文档

何时使用

  • 让我们考虑一种情况,其中可以使用多个不同的属性来描述实体,但实际上只有少数属性适用于每个实体。一种选择是创建一个表,其中每列代表一个属性;这对于具有固定数量属性且大多数对象都有所有或大部分属性值的实体是合适的。然而,在我们的情况下,我们会得到大量列大部分为空的记录,因为属性可能未知或不适用。为了解决上述问题,您可以使用EAV(实体、属性、值)模型。

  • 具有可能随时间变化的松散模式。描述实体的属性表不受特定列数的限制,这意味着不需要每次引入新属性时都重新设计模式。随着数据库的发展,属性的数量可以垂直增长,而无需结构变更。

EAV 的局限性

  • 在EAV模型中,实体数据更加碎片化,因此选择整个实体记录需要多个表连接。请检查此链接