yanxiaoyong的个人博客分享 http://blog.sciencenet.cn/u/yanxiaoyong 在路上……

博文

OQSS数据库结构分析与问卷统计功能开发

已有 6531 次阅读 2010-4-30 16:02 |个人分类:程序设计|系统分类:科研笔记| 数据库, 调查问卷, OQSS

        上周帮复杂网络论坛圈做了一个关于博客和博文大赛的网上调查问卷(见http://www.sciencenet.cn/m/user_content.aspx?id=315620),用的问卷生成工具是OQSS 2.5演示版(见http://www.oqss.com/)。这个工具不错,是个非常好用的国产软件,安装和部署都很简单,有兴趣的朋友可以看它自带的帮助文件,写得比较详细。

       不过OQSS演示版只能生成问卷,不能对调查结果进行统计和分析。
如果你有银子,建议还是买个正式版,支持国产软件嘛。不过我是穷人,就自己动手做统计分析部分了。今天有时间,详细分析了OQSS的数据库结构,并开发了一个问卷统计开发的web页面(用ASP.NET)。把开发过程中的一些心得记在这里,希望对使用OQSS演示版的朋友有所帮助。

        OQSS的数据库是ACCESS格式的,保存在安装目录的db子目录下,名字为OQSS25.mdb。这个数据库里有十几张表,经过分析,发现对统计结果有用的表有三张:

        (1)ItemTable,这个表记录了问卷中所有的问题,其中有用的字段有:IID,题目
号;SID,所属问卷号;ItemName,题目名字;ItemType,题目类型;ParentID,父题目名字(对于矩阵等类型的题目有用)。

        (2)OptionTable,这个表记录了问题的选项,其中有用的字段有:OID,选项编号;IID,所属题目编号;SID,问卷号;OptionName,选项名字。


        (3)Z***,这个表记录了用户的答题记录,表名取决问卷编号,比如第一个问卷,生成的表名为Z1。该表中的前几个字段记录了用户ID、答题时间等信息;后边的形如F***的字段,对应了第***个问题的选项编号

        搞清了数据结构,编写统计分析工具就不是大问题了,用几个SQL语句就搞定了,如下:

select IID,ItemName,ItemType from ItemTable where (SID = ??? and ParentID = 0) order by Sort
ItemTable表中查找题目名字

select OID,OptionName from OptionTable where  IID = ???
(IID)
从OptionName表中查找选项名字

Select Count(F???) from Z??? where F??? = ???(OID)
从答卷表里对选某一选项的结果计数

注意上述SQL语句中的 ??? 部分根据情况自己修改。如果熟悉数据库和Web开发,不管用什么语言应该都能很快实现一个自己的统计分析工具了。

祝各位好运!


https://blog.sciencenet.cn/blog-404069-318093.html

上一篇:这也叫足球?无语了
下一篇:推荐一个复杂网络可视化的网站
收藏 IP: .*| 热度|

0

发表评论 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 20:10

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部