日期:2014-05-18  浏览次数:20398 次

学生试题与答案分析数据库设计
实体表格:
考试Quiz(ID,时间,描述等)
题目Question(ID,问题,标准答案等)
班级Class(ID,班级号,入学时间等)
学生student(学号,姓名,性别等)
学生答案answer(ID,答案,题目ID)

一次考试有n道题 (n>=2)
一次考试有n个班 (n>=2)
一个班有n个学生 (n>=2)
一个学生要答n道题 (n>=2)
一个答案对应一个问题

怎么设计这样一个数据库啊?

------解决方案--------------------
其他的不用说了吧,你可能主要是答案和标答表不清楚吧?

学生答案表
考试ID , 班级ID , 学生ID , 题目ID , 答案
1 1 1 1 A
1 1 1 2 B
...

标答表
考试ID , 题目ID , 标答 , 分数
1 1 A 1
1 2 C 1

然后两表关联可得到分数

------解决方案--------------------
楼主要做的是试卷分析,还是改卷软件?
除了在网上进行答题(试题仅选择/是非/改错)外,一般很难将所有学生的答案写入数据库,那会出现无穷多的工作量,而且,很难得到正确的评分.说实话,俺就是教师,在改学生试卷的时候,会出来千奇百怪的答案,对有些答案,如果不仔细推敲,还真的会改错试卷.
因此,判断楼主要做的是试卷分析.

如是,那用不着将学生答案弄到数据库里,只要将各题的评分写入数据库存量就行了,然后根据大大小小的题目评分进行分析,估计这个楼主能搞掂.
------解决方案--------------------
我怎么感觉你自己设计的就可以满足要求了。。

其实就是1对N对N的关系嘛
------解决方案--------------------
这样么.
翻了一下我做的学生网上考试系统:
students 学生信息,没什么好说的,全校学生都可以在里面
questionmsg 试题信息:试题名称,适用专业(或学科班级什么的),难度,试题类型,知识点,分数,提示,出题日期,出题人,出题人IP,是否验证,验证人,答题人数,正确率
questionchs 选择题:编号,题目,选项A,选项B,选项C,选项D,正确选项
questionapi 是非题:编号,题目,判断
questionfill 填空题:编号,题目,第一空答案1,第一空答案2,第一空答案3,第二空答案1,第二空答案2.....
answer 答卷:学生编号,答题编号,答题类型,答题日期,答题IP,本题得分
因为是网络出题,网络答题,然后由服务器处理答案,学生提交答案后,立即得到试卷成绩,因此不去记录学生答了什么(直接由网页返回学生答题及得分情况).
------解决方案--------------------
探讨

引用:

其他的不用说了吧,你可能主要是答案和标答表不清楚吧?

学生答案表
考试ID , 班级ID , 学生ID , 题目ID , 答案
1 1 1 1 A
1 1 1 2 B
...

标答表
考试ID , 题目ID , 标答 , ……

------解决方案--------------------
学生考试方面的数据库网上有很多,完全可以满足你的要求

------解决方案--------------------
呵呵,学生时代的题目呢