我目前在开发一个学校内部的考试系统,目前设计的数据库比较头疼的有3个表 一个是学生考试成绩表,这个表里面有本次考试的成绩 学生的id 本次考试的id等相关字段,第二个表是题目表 这个表里面主要就是目前考试的所有题目包括选项答案等字段 最后一个表是题库表 我在设计这个题库表的时候是每一题对应一个字段的说白了就是这样的
我感觉这样不合理,如果一个考试有100题 则我的字段就要100个了 

解决方案 »

  1.   

    考试表
    考试id,考试名称(如:期中模拟考试),考试时间...
    问题表
    问题id,问题名称,问题描述,问题类型(单选,多选,简答...)...
    考试-问题-关系表
    id,考试id,问题id...
    选项表
    选项id,选项名称,选项描述,是否是正确答案先创建问题,再创建对应的选项,再创建一个考试,关联对应的问题
    这样,以后又有考试,可以复用问题(只要创建对应的考试-问题关系就行了)
      

  2.   

    题库表改为:
    试卷id 问题id
    试卷1 问题1
    试卷1 问题2
    试卷1 问题3
    试卷2 问题2
    试卷2 问题3
      

  3.   

    这个我尝试过就是把答案写成类似这样a,b,c,d,c,a,d 的字符串 但是如果其中有一个没有写答案,则这个后面的值不是都乱掉了吗?到时候结算正确率的时候会出现问题