guoyu/Test/sql/question_bank.sql

48 lines
2.9 KiB
MySQL
Raw Normal View History

-- ============================================
-- 题库功能 - 数据库表创建SQL
-- ============================================
-- 1. 题库表
DROP TABLE IF EXISTS `question_bank`;
CREATE TABLE `question_bank` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '题库ID',
`bank_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '题库名称',
`subject_id` bigint NOT NULL COMMENT '科目ID',
`subject_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '科目名称',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '题库描述',
`question_count` int DEFAULT 0 COMMENT '题目数量',
`create_user_id` bigint DEFAULT NULL COMMENT '创建人ID教师ID',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_subject_id` (`subject_id`),
KEY `idx_create_user_id` (`create_user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='题库表';
-- 2. 题库题目表
DROP TABLE IF EXISTS `question_bank_item`;
CREATE TABLE `question_bank_item` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '题目ID',
`bank_id` bigint NOT NULL COMMENT '题库ID',
`question_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '题型single-单选, multiple-多选, judge-判断, fill-填空, essay-简答)',
`question_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '题干',
`options` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '选项JSON格式用于单选、多选、判断题',
`correct_answer` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '正确答案',
`score` decimal(10,2) DEFAULT 0.00 COMMENT '默认分值',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_bank_id` (`bank_id`),
KEY `idx_question_type` (`question_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='题库题目表';
-- 3. 修改question表添加来源字段
ALTER TABLE `question`
ADD COLUMN `source_type` varchar(20) DEFAULT 'manual' COMMENT '题目来源manual-手动创建, bank-题库抽取, ai-AI生成' AFTER `exam_id`,
ADD COLUMN `bank_id` bigint DEFAULT NULL COMMENT '来源题库ID如果来自题库' AFTER `source_type`,
ADD COLUMN `bank_item_id` bigint DEFAULT NULL COMMENT '来源题库题目ID如果来自题库' AFTER `bank_id`;