大家可能接触过Google 在线表单以及国内的几家提供问卷调查服务的平台,挺好奇他们是如何存储调查结果数据的。自己目前想到的几种可能方法:
a) 收集的数据存在在标准化的数据库表,比如
form_id, record_id,question_id, answer
一个form会有好几个问题(也允许临时增加),所有的回答放在answer这个column里(用文本,或者特定编号以减少数据量)。同一个form,同一次提交采用相同的record_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 1
国外一个收费的machform实现方式是创建数据表,每张表都建立足够的column来存储各项问题答案,一些表分别存储问题、标题、逻辑、特殊输入框等等。
你可以看看他们的源码。 |
7
liprais 2015-03-17 22:47:46 +08:00
需要Join就效率低的概念是从哪里来的.....
|
8
xbb7766 2015-03-18 06:08:10 +08:00 1
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
|