我有一个“变量”结构放在表DB中。 “变量”是指一对夫妇字段/值的序列,其中“种类”字段确定值类型,我不完全知道字段顺序,我不知道字段可以重复多少次。有时候,一组字段会重复几次(这是一种财政模型)。
附加要求:我应该将这些可变数据映射到网页表单,处理一些CRUD工作。 JQuery-ui,Struts 2,Hibernate。首选DBMS:MySQL。
我想到的解决方案:
我希望我已经清楚了,即使对我来说仍然有点混乱:)
答案 0 :(得分:0)
您的选项1是Entity-Attribute-Value反模式。
请参阅我对Product table, many kinds of product, each product has many parameters和我的博客帖子EAV FAIL的回答,了解EAV错误的替代方案和一些原因,至少对于关系数据库(我在书中介绍了EAV,SQL Antipatterns: Avoiding the Pitfalls of Database Programming )。
另请阅读本文,了解类似的结构如何几乎注定公司:Bad CaRMa。
您的选择2& 3与How FriendFeed uses MySQL to store schema-less data中描述的类似。我不知道ORM为您维护该结构的任何自动方式。你确实有让你的倒排索引表与你的LOB数据保持同步的杂事。