我想设计一个基于题库中的大量试题可以进行智能组卷的在线考试毕设。但是题库和试卷的关系却令我犯了难
如果试卷直接引用题库中的题目,那么试卷题目如果进行修改那么势必会影响到题库中的题目,而题库中的题目会被多个试卷进行引用,这样一套试卷的题目修改也就会影响到其他试卷的内容。比如每套试卷的计分会有所不同,所以直接引入题库中的试题肯定是行不通的。所以我就想着导入试卷中的题目每次都新增一条,但是这样题库中的数据本来就比较大,在加上每个试卷的引用一次就创建一个副本,这样最终的数据量会很大,查询也十分的缓慢。另一个就是为试卷在创建一系列的表,题目表、选项表、题目选项表、题目知识点表,但是这样其实只是把题库换成了试卷,其他的bean、service基本都是cv一份。就很纠结,所以各位大佬有什么好的建议吗?
============================================================
补一下表设计
试题表
选项表
剩下的题库表、题库试题关联表、知识点表、试题知识点关联表等就不展示了
在题库的表给每个题增加一个版本的标注,当题库中的题有修改时,把修改后的题作为一个新版本保存。
题库表
试卷表
试卷表的试卷和题库中的题目ID+版本号关联起来。
这样就可以题库里面的题更新了,不会影响到之前版本的题目和试卷,因为现在试卷和之前的题目版本是没有变的。
导入试卷本质上应该算是导入题,导入题后,再通过“试卷”把这些题都关联起来。
如果遇到一样的题,那就不用再保存一遍,只要记录这个试卷关联题库中哪个题就行了。
题库里面的题,应该可以给他们加字段,按照类型标注、以及题对应的知识点解析和选项。