英语四六级考试系统+爬虫获取试题的系统(数据库设计)的开发思路

曾经开发过的一个四六级模拟考试系统,分享一下开发的部分思路以及数据库设计

     一个通过爬虫爬取到的试题聚合成在线模拟考试系统:通过JavaEE语言设计,利用网络爬虫技术Jsoup爬取网络上各大英语四六级学习网站的数据,聚合数据到本系统并以简洁的界面展示出来,为用户提供学习四六级资源的检索和模拟四六级考试的练习。
      系统分为几大模块:系统管理模块、爬虫聚合试题模块、考试试题学习模块、在线模拟考试模块。其中,核心在线模拟考试和爬取聚合试题模块,爬取模块有两种聚合数据方式:第一种是统一爬取页面的听力、作文、翻译等页面,然后获取标题页面列表和超链接,再爬取标题超链接的页面主要内容 ,数据保存在Tomcat服务器硬盘上,第二种爬取方式是分类爬取试题的作文题、完形填空题、翻译题、阅读题等题目,保存到数据库表上。

框架:SpringMVC+Mybatis的web项目框架

系统流程图

在这里插入图片描述


Lucence开放源代码的全文检索引擎工具包,提供完整的查询引擎和索引引擎,在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。


数据库设计

  1. 一份英语试卷只要由作文题、听力题、完形填空题、阅读题、信息匹配题、翻译题等大题以及每道大题下面有小题组成,把这些题目抽象成表:题型表、大题表、小题表、科目表
  2. 把试卷相关的信息抽象:试卷表、作答表(答题表)、试卷-试题中间表、
  3. 用户信息以及参加考试记录抽象:用户表、考试记录表
  4. 爬虫标志表

在这里插入图片描述

表3-1 ANSWER作答表

字段名类型长度非空注释
A_IDNUMBER12True主键(自增)
A_ANSWERVARCHAR22000False考生答案
A_RESULTNUMBER1False对错
A_SCORENUMBER5True分数
A_EXAMLOG_IDNUMBER10True外键(考试记录ID)
A_QUESTIONES_IDNUMBER10True外键(大题ID)
A_QUESTION_IDNUMBER10False外键(小题ID)

表3-2 EPAPER试卷表

字段名类型长度非空注释
EP_IDNUMBER8True主键(自增)
EP_NAMEVARCHAR290True试卷名称
EP_TIMENUMBER5True考试时长
EP_SCORENUMBER5True总分
EP_PASS_SCORENUMBER5True合格分数
EP_CREATE_TIMETIMESTAMP3True创建时间
EP_SUBJECT_IDNUMBER6True外键(科目ID)
EP_CREATE_USER_IDNUMBER10True外键(创建者)

表3-3 EPAPER_QUESTIONES试卷-试题中间表

字段名类型长度非空注释
EPQ_EPAPER_IDNUMBER8True外键(试卷ID)
EPQ_QUESTIONES_IDNUMBER10True外键(试题ID)
EPQ_QS_PRIORITYNUMBER2True试题优先级

表3-4 EXAMLOG考试记录表

字段名类型长度非空注释
EL_IDNUMBER10True主键(自增)
EL_ANSWER_TIMETIMESTAMP3True开考时间
EL_SUBMIT_TIMETIMESTAMP3False交卷时间
EL_TOTAL_SCORENUMBER5True总成绩
EL_USER_IDNUMBER10True外键(用户ID)
EL_EPAPER_IDNUMBER8True外键(试卷ID)

表3-6 QTYPES题型表

字段名类型长度非空注释
QT_IDNUMBER6True主键(自增)
QT_NAMENVARCHAR230True题型名称
QT_DESCRIPTIONNVARCHAR2500False题型描述
QT_CATEGORYNVARCHAR230True题型分类
QT_OPTIONSNUMBER2False题型选项

表3-7 QUESTION小题表

字段名类型长度非空注释
Q_IDNUMBER10True主键(自增)
Q_TITLEVARCHAR24000True小题题目
Q_ANSWERVARCHAR24000True小题答案
Q_SCORENUMBER5True小题分值
Q_PRIORITYNUMBER2True小题优先级
Q_QUESTIONES_IDNUMBER10True外键(大题ID)

表3-8 QUESTIONES大题表

字段名类型长度非空注释
QS_IDNUMBER10True主键(自增)
QS_DESCRIPTIONVARCHAR24000False大题描述
QS_TITLEVARCHAR24000True大题题目
QS_ANSWERVARCHAR24000False大题答案
QS_SCORENUMBER5True大题分值
QS_CREATE_TIMETIMESTAMP3True创建时间
QS_QTYPES_IDNUMBER6True外键(题型ID)
SUBJECT_IDNUMBER10True外键(科目ID)

表3-9 reptilia爬虫标志表

字段名类型长度非空注释
IDNUMBER10True主键(自增)
TITLENVARCHAR220True标题
LINKNVARCHAR232True连接
TIMETIMESTAMP3True时间
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值