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