binhnt / eav
Eav For Artisan.
dev-master
2022-11-15 02:53 UTC
Requires (Dev)
- fzaninotto/faker: ~1.4
- mockery/mockery: ~1.0
This package is auto-updated.
Last update: 2024-09-15 06:56:44 UTC
README
工作进度
实体-属性-值模型(EAV)是一种数据模型,能够以空间效率高的方式编码实体,其中可用于描述实体的属性(属性、参数)数量可能非常庞大,但实际上应用于特定实体的属性数量相对较少。
文档
何时使用
-
让我们考虑一种情况,其中可以使用多个不同的属性来描述一个实体,但实际上只有少数属性适用于每个实体。一个选项是创建一个表格,其中每列代表一个属性;这对于具有固定数量属性的实体是合适的,其中所有或大多数属性都有对象值。然而,在我们的情况下,我们会得到大多数列都是空的记录,因为属性可能是未知的或不适用。为了解决上述问题,你可以应用EAV(实体、属性、值)模型。
-
具有可能随时间变化的松散架构。描述实体的属性表不限于特定的列数,这意味着在引入新属性时不需要重新设计模式。随着数据库的发展,属性的数量可以垂直增长,而不需要结构变更。
EAV的局限性
- 在EAV模型中,实体数据更加分散,因此选择整个实体记录需要多个表连接。请查看此链接