NoSQL vs SQL动态表单

时间:2014-11-02 12:27:15

标签: sql asp.net forms nosql

我正在实施动态表单。作为用户,我希望能够动态创建表单。给它一个名字,让我们说'员工表''并将字段分配给表单,例如' Name:String' ,日期的诞生:日期'。

稍后我希望能够使用这些表单定义来存储这些表单的值,并在多个位置使用它。

基本上我只是希望能够在数据库中存储我想要的任何配置对象,然后使用一些web服务来检索它并在网页中显示它。

我已经开始为此设计MySQL数据库,但我认为使用NoSQL数据库进行此类任务可能是更好的解决方案。你会建议使用NoSql(Mongo)来完成这样的任务而不是SQL吗?

在SQL中,我会有像Form(' Employee Form'),FormFieldsNames(' Name',' DateOfBirth'),FieldType('字符串','日期','整数')然后是FormFieldValues('姓名:John',' DateOfBirth:1985/01/01&# 39)

我在服务器端使用asp.net。

1 个答案:

答案 0 :(得分:1)

根据您的说法,我实际上认为MongoDB是最简单的解决方案,因为它是无模式的,允许您以方便的方式表示事物的数组(在本例中为字段)。在这种情况下,您需要一个表单集合,其中包含表单的描述(例如

{ 
  "name":"Employee form",
  "associatedCollection":"somethingUniqueAndMaybeRandom",
  "fields": [
              { "Name":"String"}, 
              { "Date of birth":"Date"}
             ] 
}

),然后是每个表单的集合,包含实际数据。或类似的东西。

对于SQL数据库,解决方案不是那么简单,因为您正在尝试,但我认为并不难。所以你可以选择两个,IMO;我会选择MongoDB,但我没有太大区别。