学生做题分析功能设计(正确率,已做)

首先设计一个学生做题历史表

 

CREATE TABLE `et_user_question_history` (
`question_id` int(11) NOT NULL,  //题目id
`user_id` varchar(50) NOT NULL,//用户id
`question_type_id` int(11) NOT NULL,//题目类型
`is_right` tinyint(4) NOT NULL DEFAULT '1',//是否正确
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `idx_hist_uqid` (`question_id`,`user_id`) USING BTREE,  
KEY `fk_hist_uid` (`user_id`) USING BTREE, //外键看情况加入,如果后台逻辑控制的良好,即不需要外键
KEY `fk_hist_qid` (`question_id`) USING BTREE,
CONSTRAINT `fk_hist_qid` FOREIGN KEY (`question_id`) REFERENCES `et_question` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

 

然后分析的时候根据题库和该表中的数据比对,判断正确,哪些题已做未做。

java代码采用的hashmap进行匹配和筛选等操作

posted @ 2021-09-08 15:45  了悟  阅读(48)  评论(0编辑  收藏  举报