我已经在几个地方看到过这种设计范例,通常在存储有些不可预测的数据时(自定义用户偏好,那种事情),表中只有4列:
row_id - unique
item_id - indexed, userid or whatever "owns" the preference
name - name of the field
value - field value
所以它基本上是存储在SQL中的非结构化数据。这种风格的桌子有一个术语吗?这可能是解决我遇到的问题的正确方法,但我不想在没有更多研究的情况下使用它,而且没有名字就很难研究
答案 0 :(得分:6)
这称为实体 - 属性 - 值模型(EAV)。 Wikipedia(当然)是一个很好的起点。
在关系数据库中使用EAV时存在一些限制。特别是,无论自然类型如何,值的类型都倾向于字符串。此外,在某些数据库中很难表达外键关系。