Eav For Artisan.

0.2.2 2020-07-17 09:38 UTC

README

工作进度

EAV

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

wikipedia

文档

EAV 文档

何时使用

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

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

EAV 的局限性

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