动态数据库存储

时间:2012-09-04 15:37:40

标签: database forms dynamic rdbms

我想构建一个可以存储动态字段的服务。例如,注册用户可以在应用程序的特定区域中动态地创建,读取,更新和删除通用表单字段,并将动态表单保存在数据库中。这些通用表单字段将存储用户所需的任何信息。解决这个问题的最佳方法是什么? (这是一个数据库设计问题)

2 个答案:

答案 0 :(得分:1)

为什么不考虑像MongoDB,CouchDB,Riak等No SQL文档存储?

答案 1 :(得分:0)

我必须做一次类似的事情。

我将使用的最小设计是这样的:

您需要三个表来定义metadada形式:

形式:

  • FormID(PK)
  • 窗体名称

FormFields:

  • FormFieldID(PK)
  • FieldID
  • FormID

字段:

  • FieldID(PK)
  • 字段名
  • 的FieldType

两个表来存储表单实例数据:

FormInstaces:

  • FormInstanceID(PK)
  • FormID
  • 用户ID

FormFieldInstances:

  • FormFieldInstanceID(PK)
  • FormInstanceID
  • FormFieldID
  • 值(必须是文本,您必须管理类型转换)

这不是我所知道的最好的设计,但你甚至可以用这个来支持多值字段。 应在应用程序级别管理类型转换