binhnt/eav

Eav For Artisan.

dev-master 2022-11-15 02:53 UTC

This package is auto-updated.

Last update: 2024-09-15 06:56:44 UTC


README

工作进度

EAV

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

wikipedia

文档

EAV 文档

何时使用

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

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

EAV的局限性

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