我想构建一个与wufoo非常类似的在线表单生成器,它允许用户创建和发布他们自己的Web表单。每次提交应保存到用户以后可以检索提交内容的数据库中。在SQL中存储用户定义数据的正确方法
由于这些形式将是动态的,即。用户可以完全控制表单字段的数量和类型,我试图想到一个坚实的数据库设计来存储这些信息。
我会有一个表字段类型,其中包含用户可用的每种类型的字段,即。文本框,emailfield等
将举行各形式的ID只能有一个基本形式表,网址等
然后我会,其中将包括裁判的基本形式和字段类型的表formfields,该表还包括自定义验证将在每个领域完成。
这种设计是否适合作为基础结构?我想,向应用程序添加新类型的字段会很容易,但我不知道潜在的缺点是什么,因为我离sql专家很远。
非常感谢您的回答entity-attribute-value恰恰就是我正在寻找的模型。 – justinfay
EAV被称为classis反模式... http://karwin.blogspot.com/2009/05/eav-fail.html您选择了错误的路径。 – Borys
@Borys - 你说得对,但是OP正在寻找一种方法来完成对表单域数量和类型的完全控制。如何让用户能够使用规范化的数据库模型创建表单的字段和表单的类型,并且无法知道每个字段的属性?它是动态的,你不能分辨出每个表单的列。 –