【发布时间】:2017-04-12 03:09:46
【问题描述】:
我正在开发一个数据库模式来处理数据收集,然后再报告这些数据。
在需求讨论之后,似乎实体属性值 (EAV) 解决方案或平面表解决方案都可以 - 因为数据有些稀疏但不是高度稀疏。
但是,用户定义的字段在未来将成为必须,但我知道使用 EAV 表查询和优化 RDBMS 可能会变得很复杂。
我查看了here 的讨论,我认为类似于选项 1 的选项是可能的。例如,有一些设置字段,然后是一些用户可以定义标签的备用字段。
在报告方面,使用这种方法而不是使用 EAV 有什么缺点吗?
【问题讨论】:
-
在 Postgres 中使用
hstore列或jsonb
标签: sql database postgresql database-design entity-attribute-value