# 统计技能电子考试系统 ## 需求说明 ### 环境 Windows 7 64位 单机版 Windows 10 64位 单机版 ### 其他 不同身份的人,在考试过程中使用的题是不一样的。 ### 试题结构说明 - 试题类型:单选题、多选题、填空题、问答题 - 试题内容: + 单选题:每题包括问题描述、问题配图(可选,base64,可能有多个)、问题数据集(较大的json字符串,可能有多个数据集),每题可能包含多个小题,每小题有4个选项,每个小题都应该有唯一正确的答案。 + 填空题:每题包括问题描述、问题配图(可选,base64,可能有多个)、问题数据集(较大的json字符串,可能有多个数据集),每题可能包含多个填空处(包括数据集内的填空处和题目内的填空处),每小题有一个填空框,每个空都应该有正确答案。 + 填表题:每题包括问题描述、待完成的数据表格,需要考生按照要求把表格中的空白格填入正确的数据。每个空格都有唯一的正确答案。 + 问答题:每题包括问题描述、问题配图(可选,base64,可能有多个)、问题数据集(较大的json字符串,可能有多个数据集),每题可能有多个问题,每个问题都需要一个长文本答案,每个问题都应该有一个参考答案(问答题需要人工评分)。 - 考试方式:进入考试时程序从题库中随机抽取指定类型、指定数量的试题并按随机顺序排列,考试者需要在规定时间内完成所有试题的填写。 - 考试结束:考试结束后,程序将本次考试的试题、答题、正确答案(参考答案)、考试时间、考试人员等信息进行排版并保存为PDF文件,文件名称为“姓名_考试时间.pdf”,保存在电脑桌面上。 - 评分标准: + 单选题:与正确答案完全一致才算正确。 + 多选题:与正确答案完全一致才算正确。 + 填空题:与正确答案完全一致才算正确。 + 问答题:人工评分。 #### 试题示例 ```text 某企业2025年6月30日资产负债表数据如下: 流动资产:1200万元(其中存货300万元) 流动负债:800万元 计算该企业的流动比率(保留两位小数)。 正确答案:1.50 ``` ```text 某市政府2025年一般公共预算支出明细如下: 基本支出(人员经费 + 日常公用经费):180万元 项目支出(发展类项目):20万元 总支出:200万元 计算基本支出占总支出的百分比(保留一位小数)。 正确答案:90.0% ``` ```text 某企业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) ##### 数据字典 ###### 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| |table_id|INTEGER NOT NULL|关联到 question_fill_table.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)| ##### 考生 ###### examinee 考生表 |字段名|字段类型|字段描述| |---|---|---| |id|INTEGER PRIMARY KEY AUTOINCREMENT|主键| |examinee_type|TEXT NOT NULL DEFAULT ''|考生类型(如 "student"、"teacher")| |examinee_name|TEXT NOT NULL DEFAULT ''|考生姓名| |examinee_gender|TEXT NOT NULL DEFAULT ''|考生性别| |examinee_unit|TEXT NOT NULL DEFAULT ''|考生单位| |examinee_position|TEXT NOT NULL DEFAULT ''|考生职务| |examinee_id_card|TEXT NOT NULL DEFAULT ''|考生身份证号| |examinee_phone|TEXT NOT NULL DEFAULT ''|考生手机号| |examinee_event|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)|