
大家可能接触过Google 在线表单以及国内的几家提供问卷调查服务的平台,挺好奇他们是如何存储调查结果数据的。自己目前想到的几种可能方法:
a) 收集的数据存在在标准化的数据库表,比如
form_id, record_id,question_id, answer
一个form会有好几个问题(也允许临时增加),所有的回答放在answer这个column里(用文本,或者特定编号以减少数据量)。同一个form,同一次提交采用相同的recod_id。
后台呈现报表做统计的时候从好几张table里取数据来 join ... 但是感觉效率会比较低?
b) 自定义的数据文件
存在数据库里or硬盘上...
c) 在数据库里为每一张问卷生成一个表
好像最省事,不过这种方案可能性应该很低很低吧。
1 virusdefender 2015-03-17 21:55:13 +08:00 以前做过简单的问卷 存储的是json 大数据量可以使用nosql |
2 hging 2015-03-17 22:00:58 +08:00 存json不就行了. 比如标题是什么. 然后里面就随便定了. |
3 Aoliz OP 原来so easy, 谢谢楼上各位 |
4 zhwei 2015-03-17 22:08:32 +08:00 via Android 对这个问题也很感兴趣,如果存json,用mongo更方便吧。 |
6 liuhaotian 2015-03-17 22:11:21 +08:00 via iPhone 国外一个收费的machform实现方式是创建数据表,每张表都建立足够的column来存储各项问题答案,一些表分别存储问题、标题、逻辑、特殊输入框等等。 你可以看看他们的源码。 |
7 F281M6Dh8DXpD1g2 2015-03-17 22:47:46 +08:00 需要Join就效率低的概念是从哪里来的..... |
8 xbb7766 2015-03-18 06:08:10 +08:00 Join怎么就效率低了。 关键看代码怎么写,还有机器别太破。要不然nosql也够累。 |
9 invite 2015-03-18 11:25:02 +08:00 @liuhaotian 他的收费版跟开源版代码是同一套? |
10 typcn 2015-03-18 12:02:36 +08:00 via iPhone 这种东西为什么要用关系数据库 用 MongoDB 啊,天生无字段限制 |
11 liuhaotian 2015-03-18 12:36:58 +08:00 via iPhone @invite 我没见过他的开源版… 他有开源版?有的话你可以看看创建一张表单数据库什么架构… 然后再判断… |
12 invite 2015-03-18 13:02:27 +08:00 |