一个简单的问题,有点经验的都来指点一下.

yeman 2005-04-19 08:45:24
一个类似答题的程序,用ACCESS数据库. 题目大概200道.
问题:

题目做一个表, 答题的结果应该如何做(用户不用单独做表,目的是要分析结果.用户信息只是最基本的"地域","年龄","收入". 我想应该和答题结果放入一个表,分析的时候方便些.)

答题结果如何处理?

题目的数目是不定的. 所以无法设计成:
"地域","年龄","收入","题目1答案","题目2答案",......

如果设计成:
"题目ID","题目答案","答题者ID"
这样的话这个表的记录数会很多,统计的时候也不方便, 一个答题者对应多个题目和答案,统计也不会快.

或者把答案转成字符串放入一个字段,统计的时候再拆开. 这样也不是个好办法.


请各位有经验的朋友给点建议及理由.
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KissApple 2005-04-19
  • 打赏
  • 举报
回复
表1
表名:user(用户表)
字段名:user_id,user_name,user_age......(用户ID,用户名,用户年龄。。。。)
表名:timu(题库)
字段名:timu_Q,timu_A1,timu_A2,timu_A3,timu_A4,timu_A_Current(问题、答案1、答案2、答案3、答案4、正确答案)
表名:result(用户的选择结果)
字段名:result_userid,result_QA1,result_QA2,result_QA3,result_QA4,result_QA5......(用户ID,用户题目1的答案、用户题目2的答案。。。)如果是随机抽取题目,用户未抽到此题则置为2,未做答则置0,答对为1,答错为-1,或者干脆记录用户的答案
hypocricy 2005-04-19
  • 打赏
  • 举报
回复
就用你的第一种方法吧:
"地域","年龄","收入","题目1答案","题目2答案",......
没有答某题就让它为空,或定个特殊值比如“抵制日货”
这样字段多些(200多)但记录少,两个总有一个要多些的
KissApple 2005-04-19
  • 打赏
  • 举报
回复
你是想把用户的答题结果详细记录下来是吧
yeman 2005-04-19
  • 打赏
  • 举报
回复
第二,如果你的题目都是单选题,即答案都是ABCD之类的,每个答题者的答案都写入一个字符串不失为一个好办法啊,编个函数来分解就是了

-->题目都是选择,答案都固定(很好,好,差).

-->因为题目较多, 系统要先输入题库, 按照 "地域","年龄","收入","题目1答案","题目2答案",...... 做的话,字段名如何与试题ID对应(肯定是先建立好数据库,然后才输入题目)? 试题还有例如"第一题的第2小题"的形式.

-->如果把答案转成字符串: "题号,答案|题号,答案|题号,......"的形式, 拆分的时候需要拆两次.
分析结果的时候做这样的运算影响效率程度到底有多大?
dreamer2k 2005-04-19
  • 打赏
  • 举报
回复
具体问题要具体分析了,
首先你的题目数目不固定,但是可以设个上限,也就是楼上的答案,因为答题者可能有些答案也会不答的,你只需要判断答案是否为你的预定值就可以了

第二,如果你的题目都是单选题,即答案都是ABCD之类的,每个答题者的答案都写入一个字符串不失为一个好办法啊,编个函数来分解就是了

就这样

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧