Wufoo的数据库架构 - 你会如何设计它?

时间:2009-07-21 15:48:58

标签: mysql database database-design

Wufoo是:

  

HTML表单构建器,可帮助您创建联系表单,在线调查和邀请,这样您就可以收集所需的数据,注册和在线支付,而无需编写任何代码。

如果构建类似的网站,您将如何处理数据库设计?

更高级别的设计(表格和关系)或更低级别的设计(表格,关系,字段,视图,规则,MySQl查询等)......都欢迎: - )

基于MySQL的解决方案首选;-)

1 个答案:

答案 0 :(得分:9)

这种类型的数据库设计需要EAV个表。例如,表单部分可能包含:

1. User table (user_id, user_name, etc.)
2. Form table (user_id, form_id, form_name, etc.)
3. Form_field table (form_id, column_id, column_name, column_type, etc.)
4. column_type table (column_type_id, column_type_name)

填写结果将保存在不同的表格中:

Filled_form (form_id, column_id, value)

我们的想法是创建一个只需要通用(但不超过)通用的数据库模型,以满足不同用户的需求。例如,列类型由程序员设置,每种类型在呈现表单时具有不同的含义。