Go to file
2025-08-04 23:03:56 +08:00
.vscode vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
data vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
electron 提取AdminLayout模板页,整理db/config.js和service/configService.js,实现ConfigManagementView页的功能 2025-08-04 23:03:56 +08:00
public vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
src 提取AdminLayout模板页,整理db/config.js和service/configService.js,实现ConfigManagementView页的功能 2025-08-04 23:03:56 +08:00
.gitignore vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
index.html vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
jsconfig.json vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
package-lock.json vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
package.json vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
README.md vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00
vite.config.js vue创建欢迎页、初始化数据库、管理员密码验证、页脚题库版本 2025-08-03 20:20:06 +08:00

统计技能电子考试系统

需求说明

环境

Windows 7 64位 单机版 Windows 10 64位 单机版

其他

不同身份的人,在考试过程中使用的题是不一样的。

试题结构说明

  • 试题类型:单选题、多选题、填空题、问答题
  • 试题内容:
    • 单选题:每题包括问题描述、问题配图(可选,base64,可能有多个)、问题数据集(较大的json字符串,可能有多个数据集),每题可能包含多个小题,每小题有4个选项,每个小题都应该有唯一正确的答案。
    • 填空题:每题包括问题描述、问题配图(可选,base64,可能有多个)、问题数据集(较大的json字符串,可能有多个数据集),每题可能包含多个填空处(包括数据集内的填空处和题目内的填空处),每小题有一个填空框,每个空都应该有正确答案。
    • 填表题:每题包括问题描述、待完成的数据表格,需要考生按照要求把表格中的空白格填入正确的数据。每个空格都有唯一的正确答案。
    • 问答题:每题包括问题描述、问题配图(可选,base64,可能有多个)、问题数据集(较大的json字符串,可能有多个数据集),每题可能有多个问题,每个问题都需要一个长文本答案,每个问题都应该有一个参考答案(问答题需要人工评分)。
  • 考试方式:进入考试时程序从题库中随机抽取指定类型、指定数量的试题并按随机顺序排列,考试者需要在规定时间内完成所有试题的填写。
  • 考试结束:考试结束后,程序将本次考试的试题、答题、正确答案(参考答案)、考试时间、考试人员等信息进行排版并保存为PDF文件,文件名称为“姓名_考试时间.pdf”,保存在电脑桌面上。
  • 评分标准:
    • 单选题:与正确答案完全一致才算正确。
    • 多选题:与正确答案完全一致才算正确。
    • 填空题:与正确答案完全一致才算正确。
    • 问答题:人工评分。

试题示例

某企业2025年6月30日资产负债表数据如下:
流动资产:1200万元(其中存货300万元)
流动负债:800万元
计算该企业的流动比率(保留两位小数)。

正确答案:1.50
某市政府2025年一般公共预算支出明细如下:
基本支出(人员经费 + 日常公用经费):180万元
项目支出(发展类项目):20万元
总支出:200万元
计算基本支出占总支出的百分比(保留一位小数)。

正确答案:90.0%
某企业2024年财务报表及某市政府2025年公共预算支出明细如下表所示,请根据表格数据完成计算。

表1:企业A 2024年财务报表摘要(单位:万元)
项目	金额
营业收入	5000
净利润	800
年初应收账款余额	400
年末应收账款余额	600
流动资产	1500
流动负债	1000
平均净资产	4000

表2:某市政府2025年公共预算支出明细(单位:万元)
支出类别	金额
基本支出(人员经费)	1200
基本支出(公用经费)	300
项目支出(发展类)	500
项目支出(民生类)	200
总预算支出	2200

问题与填空要求
企业财务指标计算:
计算企业A的 流动比率(保留两位小数):流动比率 = ______
计算企业A的 应收账款周转率(次数,保留一位小数):周转率 = ______次
计算企业A的 净资产收益率(ROE)(百分比,保留一位小数):ROE = ______%
公共预算支出分析:
计算基本支出(人员经费 + 公用经费)占总预算支出的 百分比(保留一位小数):占比 = ______%
若上级要求基本支出占比不超过 60%,判断该政府是否达标(填写“是”或“否”):______

正确答案:
1.50
10.0
20.0
68.2
否

页面规划

  • 欢迎页:提供2个入口,”参加考试“和”管理系统“,点击”参加考试“进入考试页面,点击”管理系统“进入管理页面,欢迎页要展示软件版本号和题库版本号。
    • 管理入口:提供用户管理、试题管理、考试管理等功能。
      • 输入管理密码页:输入正确的管理密码才可以进入管理系统。
      • 试题管理:提供试题的添加、删除、修改、查询等功能。添加、修改中支持上传图片和导入数据集(可能是excel文件)。每次试题变化后,都要为当前题库生成唯一的正序的题库版本号(这是单机软件,因为在实际上机考试时要确认各台机器的题库版本号是否一致)。
      • 人员管理:提供考试人员的添加、删除、修改、查询等功能。支持批量导入人员信息(excel文件)。支持批量删除人员信息。
      • 考试管理:提供考试的添加、删除、修改、查询等功能,考试信息包括考试名称、时间、各类型试题题量(各类题型的小题数)、分值设置(各类试题的小题分值)。
      • 系统初始化
    • 参加考试:提供考试页面,包括试题展示、答题、提交等功能。
      • 输入考生信息页:输入正确的考生姓名、准考证号才可以进入考试系统,信息来源于人员管理中维护的数据。
      • 考试确认页:随机抽题组生成本次试卷,结合考生信息、考试时间等形成唯一考试数据,展示考试说明(固定内容),提供“开始考试”入口。
      • 考试页面:展示试题,支持单选题、多选题、填空题、问答题的答题功能。考试页面强制全屏,具备防切出机制,切出5次后,在第6次切出时强制结束考试。考试页面具备倒计时功能,
        • 单选题:支持单选项选择。
        • 填空题:支持填空内容输入。
        • 填表题:支持数据表格的补充填写。
        • 问答题:支持长文本输入。
      • 提交页:提供提交按钮,点击提交按钮将考试数据提交入库,生成试卷PDF文件。

实现方案

技术选型

Electron + SQLite + bootstrap + fontawesome

管理员密码

t2t6a9

数据库设计

本应用是单机应用,没有网络环境,所以需要考虑到单机环境下的数据管理问题。

单机环境下我们使用SQLite数据库,设计两个库,system.db和user.db,其中system.db为系统库,系统管理员的操作可以更改system.db中的数据,user.db为用户库,考生的操作可以更改user.db中的数据。

本应用需要数据与应用分离,所以需要将数据库文件与应用程序文件分离,数据库文件的路径需要在应用程序中配置。

系统库 system.db

说明:system.db是系统数据库,只有系统管理员的操作才会更改系统库。

系统配置
config 系统配置表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
key text 配置名称
value text 配置值

已知的配置项: + 管理员密码(admin_password) + 题库版本号(question_bank_version) + 考试版本号(exam_version)

数据字典
dict_types 字典类型表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
type_code TEXT 字典类型编码(唯一标识,如 "question_category"、"user_role")
type_name TEXT NOT NULL 字典类型名称(如 "题型分类"、"用户角色")
description TEXT 字典类型的描述信息(可选)
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
dict_items 字典项表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 字典项唯一标识(自增主键)
type_code TEXT NOT NULL 关联到 dict_types.type_code,表示字典项所属类型(如 "question_type")
item_code TEXT NOT NULL 字典项编码(唯一标识,如 "choice"、"admin")
item_name TEXT NOT NULL 字典项名称(如 "选择题"、"管理员")
item_value TEXT 字典项的额外信息(如排序、扩展字段,可选)
parent_code TEXT 父级字典项编码(用于构建树形结构,如 "objective" 是 "choice" 的父级)
is_active BOOLEAN DEFAULT 1 是否启用(1=启用,0=禁用)
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)

字典示例 -- 1. 定义字典类型 INSERT INTO dict_types (type_code, type_name, description) VALUES ('question_category', '题型分类', '用于区分客观题和主观题'), ('question_type', '题型', '存储所有题型(选择题、填空题等)'); -- 2. 插入题型分类(客观题、主观题) INSERT INTO dict_items (type_code, item_code, item_name, item_value) VALUES ('question_category', 'objective', '客观题', '有固定答案,机器可自动评分'), ('question_category', 'subjective', '主观题', '需人工评分,答案不唯一'); -- 3. 插入题型(选择题、填空题等),并关联到分类 INSERT INTO dict_items (type_code, item_code, item_name, parent_code, item_value) VALUES ('question_type', 'choice', '选择题', 'objective', '包含单选和多选'), ('question_type', 'fill_blank', '填空题', 'objective', '填写空白处的答案'), ('question_type', 'fill_table', '填表题', 'objective', '填写表格内容'), ('question_type', 'true_false', '判断题', 'objective', '判断对错'), ('question_type', 'short_answer', '问答题', 'subjective', '简短回答问题'), ('question_type', 'analysis', '分析题', 'subjective', '需要分析问题'), ('question_type', 'essay', '论述题', 'subjective', '详细论述');

试题
questions 题干表(问题主表)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_type TEXT NOT NULL 问题类型(关联到 dict_types.type_code)
question_name TEXT NOT NULL DEFAULT '' 问题名称
question_description TEXT NOT NULL DEFAULT '' 问题描述
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_datasets 题干的配套数据集表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
dataset_name TEXT NOT NULL DEFAULT '' 数据集名称
dataset_data TEXT NOT NULL 数据集数据的json字符串
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_images 题干的配图表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
image_name TEXT NOT NULL DEFAULT '' 图片名称
image_base64 TEXT NOT NULL 图片文件的base64编码
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_fill_table 填表问题的表格表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
table_name TEXT NOT NULL DEFAULT '' 表格名称
table_data TEXT NOT NULL 表格数据的json字符串
table_description TEXT NOT NULL DEFAULT '' 表格描述
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_fill_table_blanks 填表问题的表格填空表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
dataset_id INTEGER NOT NULL 关联到 question_dataset.id
cell_position TEXT NOT NULL 填空单元格的位置(如 "A1"、"B2")
cell_type TEXT NOT NULL DEFAULT 'number' 填空单元格的类型(如 "text"、"number")
correct_answer TEXT NOT NULL DEFAULT '' 填空单元格的正确答案(如 "123"、"456")
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_choices 选择题问题表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
choice_description TEXT NOT NULL DEFAULT '' 选择题的描述(含占位符__blank__)
choice_type TEXT NOT NULL DEFAULT 'single' 选择题类型(如 "single"、"multiple")
choice_options TEXT NOT NULL 选项的数组字符串
correct_answers TEXT NOT NULL 正确答案的索引序列(如 "0,1"、"2,3,4")
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_fill_blanks 填空题问题表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
blank_description TEXT NOT NULL DEFAULT '' 填空题的描述(含填空占位符__blank__)
blank_count INTEGER NOT NULL DEFAULT 0 填空数量
correct_answers TEXT NOT NULL DEFAULT '' 填空处的正确答案序列(如 "123,456")
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_short 简答题/论述题/分析题表(含参考答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
short_ask TEXT NOT NULL DEFAULT '' 简答题/论述题/分析题的问题
short_answer_ref TEXT NOT NULL DEFAULT '' 简答题/论述题/分析题的参考答案
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
question_judge 判断题表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
question_id INTEGER NOT NULL 关联到 questions.id
judge_ask TEXT NOT NULL DEFAULT '' 判断题的问题
judge_answer INTEGER NOT NULL 判断题的答案(0 或 1)
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
考试
exam 考试表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
exam_name TEXT NOT NULL DEFAULT '' 考试名称
exam_description TEXT NOT NULL DEFAULT '' 考试描述
exam_examinee_type TEXT NOT NULL DEFAULT '' 考试考生类型(如 "student"、"teacher")
exam_notice TEXT NOT NULL DEFAULT '' 考试须知(长文本Markdown语法可展示在页面上
exam_minutes INTEGER NOT NULL DEFAULT 0 考试时长(分钟)
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
exam_question_set 考试题型配置表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
exam_id INTEGER NOT NULL 关联到 exam.id
question_type TEXT NOT NULL 问题类型(关联到 dict_types.type_code)
question_count INTEGER NOT NULL DEFAULT 0 该类型问题的数量
question_score INTEGER NOT NULL DEFAULT 0 该类型问题的总分数
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
考生
examinee 考生表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
examinee_type TEXT NOT NULL DEFAULT '' 考生类型(如 "student"、"teacher")
examinee_name TEXT NOT NULL DEFAULT '' 考生姓名
examinee_account TEXT NOT NULL DEFAULT '' 考生学号/工号
examinee_phone TEXT NOT NULL DEFAULT '' 考生手机号
examinee_unit TEXT NOT NULL DEFAULT '' 考生单位
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)

考生库 user.db

操作日志
examinee_log 考生操作日志表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
examinee_id INTEGER NOT NULL 关联到 exam_examinee.id
operation TEXT NOT NULL DEFAULT '' 操作类型(如 "login"、"logout")
operation_time TIMESTAMP NOT NULL 操作时间
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
参加考试
examinee_exam 考生考试表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
examinee_id INTEGER NOT NULL 关联到 exam_examinee.id
exam_name TEXT NOT NULL DEFAULT '' 考试名称
exam_description TEXT NOT NULL DEFAULT '' 考试描述
exam_examinee_type TEXT NOT NULL DEFAULT '' 考试考生类型(如 "student"、"teacher")
exam_notice TEXT NOT NULL DEFAULT '' 考试须知(长文本Markdown语法可展示在页面上
exam_minutes INTEGER NOT NULL DEFAULT 0 考试时长(分钟)
start_time TEXT NOT NULL 考试开始时间
latest_end_time TEXT NOT NULL 考试最晚结束时间
end_time TEXT NOT NULL 考试结束时间
exam_duration INTEGER NOT NULL DEFAULT 0 实际考试时长(分钟)
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
updated_at TEXT 记录更新时间(默认 CURRENT_TIMESTAMP)
examinee_papers 考生试卷主表

这是在考生参加时,从system库中的exam表中查询出的考试信息。

字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
examinee_id INTEGER NOT NULL 关联到 examinee.id
exam_id INTEGER NOT NULL 关联到 exam.id
paper_minutes INTEGER NOT NULL DEFAULT 0 试卷时长(分钟)
paper_total_score INTEGER NOT NULL DEFAULT 0 试卷总分(根据system库中的exam_question_set表计算得到)
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)

这种表应该是只读的表,所以不需要updated_at字段。

paper_questions 考生试卷问题表

这是从system库中根据exam_question_set表中的配置,从questions表中查询出的数据组成本次考试的试卷。

字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
examinee_paper_id INTEGER NOT NULL 关联到 examinee_papers.id
question_type TEXT NOT NULL 问题类型(关联到 dict_types.type_code)
question_name TEXT NOT NULL DEFAULT '' 问题名称
question_description TEXT NOT NULL DEFAULT '' 问题描述
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)

这种表应该是只读的表,所以不需要updated_at字段。

paper_question_datasets 题干的配套数据集表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
dataset_name TEXT NOT NULL DEFAULT '' 数据集名称
dataset_data TEXT NOT NULL 数据集数据的json字符串
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_question_images 题干的配图表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
image_name TEXT NOT NULL DEFAULT '' 图片名称
image_base64 TEXT NOT NULL 图片文件的base64编码
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_question_fill_table 填表问题的表格表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
table_name TEXT NOT NULL DEFAULT '' 表格名称
table_data TEXT NOT NULL 表格数据的json字符串
table_description TEXT NOT NULL DEFAULT '' 表格描述
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_question_fill_table_blanks 填表问题的表格填空表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
paper_dataset_id INTEGER NOT NULL 关联到 paper_datasets.id
cell_position TEXT NOT NULL 填空单元格的位置(如 "A1"、"B2")
cell_type TEXT NOT NULL DEFAULT 'number' 填空单元格的类型(如 "text"、"number")
correct_answer TEXT NOT NULL DEFAULT '' 填空单元格的正确答案(如 "123"、"456")
score REAL NOT NULL DEFAULT 0 填空单元格的分值
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_question_choices 选择题问题表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
choice_description TEXT NOT NULL DEFAULT '' 选择题的描述(含占位符__blank__)
choice_type TEXT NOT NULL DEFAULT 'single' 选择题类型(如 "single"、"multiple")
choice_options TEXT NOT NULL 选项的数组字符串
correct_answers TEXT NOT NULL 正确答案的索引序列(如 "0,1"、"2,3,4")
score REAL NOT NULL DEFAULT 0 选择题的分值
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_question_fill_blanks 填空题问题表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
blank_description TEXT NOT NULL DEFAULT '' 填空题的描述(含填空占位符__blank__)
blank_count INTEGER NOT NULL DEFAULT 0 填空数量
correct_answers TEXT NOT NULL DEFAULT '' 填空处的正确答案序列(如 "123,456")
score REAL NOT NULL DEFAULT 0 填空题的分值
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_question_short 简答题/论述题/分析题表(含参考答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
short_ask TEXT NOT NULL DEFAULT '' 简答题/论述题/分析题的问题
short_answer_ref TEXT NOT NULL DEFAULT '' 简答题/论述题/分析题的参考答案
score REAL NOT NULL DEFAULT 0 简答题/论述题/分析题的分值
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_question_judge 判断题表(含答案)
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
judge_ask TEXT NOT NULL DEFAULT '' 判断题的问题
judge_answer INTEGER NOT NULL 判断题的答案(0 或 1)
score REAL NOT NULL DEFAULT 0 判断题的分值
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)
paper_answers 考生试卷答案表
字段名 字段类型 字段描述
id INTEGER PRIMARY KEY AUTOINCREMENT 主键
examinee_paper_id INTEGER NOT NULL 关联到 examinee_papers.id
paper_question_id INTEGER NOT NULL 关联到 paper_questions.id
paper_question_item_id INTEGER NOT NULL 多态的方式关联到各个具体的小题表id
answer TEXT NOT NULL DEFAULT '' 考生的答案
get_score REAL NOT NULL DEFAULT 0 考生的得分
created_at TEXT 记录创建时间(默认 CURRENT_TIMESTAMP)