【问题标题】:Database schema considerations for a dynamic form creation/survey web application动态表单创建/调查 Web 应用程序的数据库架构注意事项
【发布时间】:2012-01-15 10:23:54
【问题描述】:

我正在构建一个 Web 应用程序,它基本上允许“管理员”创建具有任意数量和组合的表单元素(复选框、组合框、文本字段、日期字段、单选组等)的表单。 “用户”将登录此应用程序并填写管理员创建的表单。

我们将 MySQL 用于我们的数据库。有没有人实现了具有这种功能的应用程序?我的第一个想法是序列化具有 JSON 的表单模式并将其作为字段存储在我的一个数据库表中,然后序列化来自不同用户的提交并将其存储在 mysql 表中。另一个想法:这是否适合 MongoDB 等无 SQL 数据库?

【问题讨论】:

    标签: database database-design web-applications serialization database-schema


    【解决方案1】:

    是的,MongoDB、CouchDB 或 Solr 等面向文档的数据库可以做到这一点。表单或表单响应的每个实例都可能有一组不同的字段。您还可以索引字段,它们将帮助您查询包含相应字段的文档。

    我见过的另一种在 SQL 数据库中实现此功能的解决方案是How FriendFeed uses MySQL to store schema-less data 中描述的解决方案。

    基本上就像您将半结构化数据存储在序列化 JSON 中的想法一样,但随后为您要索引的每个不同的表单字段创建另一个表。然后,您可以进行快速索引查找并连接回序列化 JSON 数据包含您要查找的字段/值对的行。

    【讨论】:

      猜你喜欢
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 2010-11-16
      • 2013-04-11
      • 1970-01-01
      • 2019-01-12
      相关资源
      最近更新 更多