SQL表设计的术语?

时间:2015-12-28 19:51:21

标签: sql

我已经在几个地方看到过这种设计范例,通常在存储有些不可预测的数据时(自定义用户偏好,那种事情),表中只有4列:

row_id - unique
item_id  - indexed, userid or whatever "owns" the preference
name - name of the field
value - field value

所以它基本上是存储在SQL中的非结构化数据。这种风格的桌子有一个术语吗?这可能是解决我遇到的问题的正确方法,但我不想在没有更多研究的情况下使用它,而且没有名字就很难研究

1 个答案:

答案 0 :(得分:6)

这称为实体 - 属性 - 值模型(EAV)。 Wikipedia(当然)是一个很好的起点。

在关系数据库中使用EAV时存在一些限制。特别是,无论自然类型如何,值的类型都倾向于字符串。此外,在某些数据库中很难表达外键关系。