llm-survey/database/init_database.sql

375 lines
18 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 创建数据库
CREATE DATABASE IF NOT EXISTS `llm_survey` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE `llm_survey`;
-- 删除旧表(如果存在)
DROP TABLE IF EXISTS `survey_response`;
DROP TABLE IF EXISTS `option`;
DROP TABLE IF EXISTS `question`;
DROP TABLE IF EXISTS `user`;
-- 创建用户表
CREATE TABLE IF NOT EXISTS `user` (
`id` BIGINT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL COMMENT '姓名',
`phone` VARCHAR(20) NOT NULL COMMENT '手机号',
`position_type` VARCHAR(20) NOT NULL COMMENT '岗位性质',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
UNIQUE KEY `uk_phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
-- 创建问题表
CREATE TABLE IF NOT EXISTS `question` (
`id` BIGINT PRIMARY KEY AUTO_INCREMENT,
`number` INT NOT NULL COMMENT '问题序号',
`content` TEXT NOT NULL COMMENT '问题内容',
`type` VARCHAR(20) NOT NULL COMMENT '问题类型',
`is_required` BOOLEAN NOT NULL DEFAULT TRUE COMMENT '是否必答',
`next` JSON DEFAULT NULL COMMENT '跳转逻辑',
`is_last` BOOLEAN NOT NULL DEFAULT FALSE COMMENT '是否是最后一题',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
UNIQUE KEY `uk_number` (`number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问题表';
-- 创建选项表
CREATE TABLE IF NOT EXISTS `option` (
`id` BIGINT PRIMARY KEY AUTO_INCREMENT,
`question_id` BIGINT NOT NULL COMMENT '关联的问题ID',
`code` VARCHAR(10) NOT NULL COMMENT '选项代码',
`content` TEXT NOT NULL COMMENT '选项内容',
`requires_text` BOOLEAN NOT NULL DEFAULT FALSE COMMENT '是否需要填写文本',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
FOREIGN KEY (`question_id`) REFERENCES `question` (`id`),
UNIQUE KEY `uk_question_code` (`question_id`, `code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问题选项表';
-- 创建问卷答案表
CREATE TABLE IF NOT EXISTS `survey_response` (
`id` BIGINT PRIMARY KEY AUTO_INCREMENT,
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`question_id` BIGINT NOT NULL COMMENT '问题ID',
`selected_options` JSON DEFAULT NULL COMMENT '选中的选项代码列表',
`text_answer` TEXT DEFAULT NULL COMMENT '文本答案(用于文本题或需要填写文本的选项)',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
FOREIGN KEY (`question_id`) REFERENCES `question` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问卷答案表';
-- 清空现有数据
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `survey_response`;
TRUNCATE TABLE `option`;
TRUNCATE TABLE `question`;
TRUNCATE TABLE `user`;
SET FOREIGN_KEY_CHECKS = 1;
-- 插入通用认知问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (1, '您对大模型如ChatGPT、通义千问、DeepSeek的了解程度', 'SINGLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`) VALUES
(LAST_INSERT_ID(), 'A', '从未接触过'),
(LAST_INSERT_ID(), 'B', '仅在日常简单使用过通用功能(如问答)'),
(LAST_INSERT_ID(), 'C', '在工作中尝试过基础应用'),
(LAST_INSERT_ID(), 'D', '深度研究过技术原理');
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (2, '您觉得大模型可以做到下面哪些事?', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '精准知识问答', FALSE),
(LAST_INSERT_ID(), 'B', '文档撰写/报告生成/代码编写/图片视频生成等', FALSE),
(LAST_INSERT_ID(), 'C', '数据清洗与分析', FALSE),
(LAST_INSERT_ID(), 'D', '客户沟通与服务', FALSE),
(LAST_INSERT_ID(), 'E', '风险识别与预警', FALSE),
(LAST_INSERT_ID(), 'F', '流程自动化', FALSE),
(LAST_INSERT_ID(), 'G', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (3, '您最关注大模型应用的哪些风险?', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '数据隐私泄露', FALSE),
(LAST_INSERT_ID(), 'B', '生成内容不准确', FALSE),
(LAST_INSERT_ID(), 'C', '合规审查风险', FALSE),
(LAST_INSERT_ID(), 'D', '技术使用门槛高', FALSE),
(LAST_INSERT_ID(), 'E', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (4, '您的主要工作内容是:', 'SINGLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`) VALUES
(LAST_INSERT_ID(), 'A', '研发(产品、开发、算法、测试、运维等)'),
(LAST_INSERT_ID(), 'B', '项目管理(项目立项、进度跟踪、风险管理等)'),
(LAST_INSERT_ID(), 'C', '保险(产品、核保、理赔、精算等)'),
(LAST_INSERT_ID(), 'D', '财务(会计、税务、审计等)'),
(LAST_INSERT_ID(), 'E', '客服(咨询、投诉、回访等)'),
(LAST_INSERT_ID(), 'F', '运营(新媒体运营、广告宣传、活动策划、数据分析等)'),
(LAST_INSERT_ID(), 'G', '市场拓展(渠道拓展、商务沟通、产品推广等)'),
(LAST_INSERT_ID(), 'H', '人力资源(招聘、培训、绩效、薪酬等)'),
(LAST_INSERT_ID(), 'I', '综合事务(行政、法务等)'),
(LAST_INSERT_ID(), 'J', '公司高管(战略规划、组织架构、制度建设等)');
-- 研发部门专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (5, '您在开发过程中最耗时的重复性工作:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '文档编写(如需求文档、技术文档等)', FALSE),
(LAST_INSERT_ID(), 'B', '产品原型、界面设计(如使用图片生成模型自动生成等)', FALSE),
(LAST_INSERT_ID(), 'C', '代码编写', FALSE),
(LAST_INSERT_ID(), 'D', '调试与测试', FALSE),
(LAST_INSERT_ID(), 'E', '系统监控与维护', FALSE),
(LAST_INSERT_ID(), 'F', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (6, '您希望大模型如何与现有系统集成:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '回答技术问题', FALSE),
(LAST_INSERT_ID(), 'B', '自动生成代码片段(如 Github Copilot等', FALSE),
(LAST_INSERT_ID(), 'C', '智能测试用例生成', FALSE),
(LAST_INSERT_ID(), 'D', '生成需求文档、技术文档', FALSE),
(LAST_INSERT_ID(), 'E', '完整项目生成如Cursor等', FALSE),
(LAST_INSERT_ID(), 'F', '代码重构与优化', FALSE),
(LAST_INSERT_ID(), 'G', '辅助设计算法如DeepSeek等', FALSE),
(LAST_INSERT_ID(), 'H', '其他', TRUE);
-- 项目管理专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (7, '项目管理中最常遇到的挑战是:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '项目进度跟踪与更新', FALSE),
(LAST_INSERT_ID(), 'B', '风险评估与管控', FALSE),
(LAST_INSERT_ID(), 'C', '项目报告生成', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (8, '您希望如何利用大模型提升项目管理效率:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '自动生成立项报告、进度报告、总结报告等', FALSE),
(LAST_INSERT_ID(), 'B', '风险预测与预警', FALSE),
(LAST_INSERT_ID(), 'C', '项目资料自动化整理', FALSE),
(LAST_INSERT_ID(), 'D', '知识库管理', FALSE),
(LAST_INSERT_ID(), 'E', '其他', TRUE);
-- 保险专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (9, '理赔处理中的主要瓶颈是:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '理赔文档处理', FALSE),
(LAST_INSERT_ID(), 'B', '医疗票据审核与核对', FALSE),
(LAST_INSERT_ID(), 'C', '客户资料信息录入与处理', FALSE),
(LAST_INSERT_ID(), 'D', '理赔规则理解与应用', FALSE),
(LAST_INSERT_ID(), 'E', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (10, '大模型可以优化哪些保险工作环节:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '新员工入职培训', FALSE),
(LAST_INSERT_ID(), 'B', '保险产品设计的优化', FALSE),
(LAST_INSERT_ID(), 'C', '自动生成理赔报告与告知书', FALSE),
(LAST_INSERT_ID(), 'D', '自动化资料审核如OCR识别票据数据、自动识别既往症等', FALSE),
(LAST_INSERT_ID(), 'E', '异常案件智能预警', FALSE),
(LAST_INSERT_ID(), 'F', '其他', TRUE);
-- 财务专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (11, '日常工作中最重复的任务是:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '财务数据整理与报表生成', FALSE),
(LAST_INSERT_ID(), 'B', '发票和报销单审核', FALSE),
(LAST_INSERT_ID(), 'C', '财务审计与合规检查', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (12, '大模型能如何协助提升财务工作效率:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '各种报表格式的自动转换', FALSE),
(LAST_INSERT_ID(), 'B', '自动生成财务报表与分析摘要', FALSE),
(LAST_INSERT_ID(), 'C', '自动化审计和合规检查', FALSE),
(LAST_INSERT_ID(), 'D', '财务数据智能分析与预测', FALSE),
(LAST_INSERT_ID(), 'E', '其他', TRUE);
-- 客服专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (13, '客户咨询中最常遇到的重复性问题:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '参保资格咨询', FALSE),
(LAST_INSERT_ID(), 'B', '理赔进度查询', FALSE),
(LAST_INSERT_ID(), 'C', '材料补交通知', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (14, '您希望大模型如何辅助客服工作:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '自动生成客户回复模板', FALSE),
(LAST_INSERT_ID(), 'B', '客户咨询自动分类与转接', FALSE),
(LAST_INSERT_ID(), 'C', '智能分析客户情绪与需求', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
-- 运营专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (15, '在运营工作中,最需要自动化支持的任务是:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '热点讯息的获取和跟踪', FALSE),
(LAST_INSERT_ID(), 'B', '数据分析与报告生成', FALSE),
(LAST_INSERT_ID(), 'C', '社交媒体内容创作', FALSE),
(LAST_INSERT_ID(), 'D', '活动效果评估与预测', FALSE),
(LAST_INSERT_ID(), 'E', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (16, '大模型可以如何帮助提升运营效率:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '自动抓取热点讯息', FALSE),
(LAST_INSERT_ID(), 'B', '自动生成社交媒体内容', FALSE),
(LAST_INSERT_ID(), 'C', '用户评论分析与舆情监测', FALSE),
(LAST_INSERT_ID(), 'D', '活动数据自动分析与报告生成', FALSE),
(LAST_INSERT_ID(), 'E', '其他', TRUE);
-- 市场拓展专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (17, '在市场拓展和商务沟通中,您最常遇到的挑战是:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '市场分析和竞争对手跟踪', FALSE),
(LAST_INSERT_ID(), 'B', '渠道拓展计划的自动化和优化', FALSE),
(LAST_INSERT_ID(), 'C', '商务沟通中的信息处理与反馈跟踪', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (18, '您希望大模型如何帮助提升市场拓展效率:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '自动生成市场分析报告与趋势预测', FALSE),
(LAST_INSERT_ID(), 'B', '根据目标客户数据生成个性化营销策略', FALSE),
(LAST_INSERT_ID(), 'C', '自动化生成商务沟通邮件和提案文档', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
-- 人力资源专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (19, '人事部门最耗时的日常任务是:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '招聘简历筛选与面试安排', FALSE),
(LAST_INSERT_ID(), 'B', '员工培训与学习进度管理', FALSE),
(LAST_INSERT_ID(), 'C', '绩效评估与报告生成', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (20, '您希望大模型如何协助提升人事工作效率:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '自动筛选招聘简历并推荐候选人', FALSE),
(LAST_INSERT_ID(), 'B', '自动化培训内容推送与学习路径规划', FALSE),
(LAST_INSERT_ID(), 'C', '绩效评估与员工反馈的自动化分析', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
-- 综合管理专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (21, '在行政工作中,最耗时的任务是:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '合同审查与管理', FALSE),
(LAST_INSERT_ID(), 'B', '会议纪要整理', FALSE),
(LAST_INSERT_ID(), 'C', '文档管理与更新', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (22, '您希望大模型如何协助提升行政工作效率:', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '自动生成合同和协议模板', FALSE),
(LAST_INSERT_ID(), 'B', '自动化会议纪要整理与分发', FALSE),
(LAST_INSERT_ID(), 'C', '自动化文档归档与管理', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
-- 公司高管专属问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (23, '您认为大模型在哪些战略层面的决策中可以发挥作用?', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '市场趋势预测与分析', FALSE),
(LAST_INSERT_ID(), 'B', '组织结构优化与调整', FALSE),
(LAST_INSERT_ID(), 'C', '业务流程优化与重组', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (24, '在公司管理工作中,您最希望大模型协助哪些任务?', 'MULTIPLE_CHOICE', TRUE, FALSE);
INSERT INTO `option` (`question_id`, `code`, `content`, `requires_text`) VALUES
(LAST_INSERT_ID(), 'A', '数据分析与报告自动生成', FALSE),
(LAST_INSERT_ID(), 'B', '战略规划与方案优化', FALSE),
(LAST_INSERT_ID(), 'C', '业务协同与跨部门信息流通', FALSE),
(LAST_INSERT_ID(), 'D', '其他', TRUE);
-- 开放建议问题
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (25, '您对大模型培训的具体期待:', 'TEXT', FALSE, FALSE);
INSERT INTO `question` (`number`, `content`, `type`, `is_required`, `is_last`)
VALUES (26, '您认为公司引入AI需提前防范的风险', 'TEXT', FALSE, TRUE);
-- 设置问题跳转逻辑
UPDATE `question`
SET `next` = JSON_OBJECT(
'A', 5, -- 研发部门跳转到问题5
'B', 7, -- 项目管理跳转到问题7
'C', 9, -- 保险部门跳转到问题9
'D', 11, -- 财务部门跳转到问题11
'E', 13, -- 客服部门跳转到问题13
'F', 15, -- 运营部门跳转到问题15
'G', 17, -- 市场拓展跳转到问题17
'H', 19, -- 人力资源跳转到问题19
'I', 21, -- 综合管理跳转到问题21
'J', 23 -- 公司高管跳转到问题23
)
WHERE `number` = 4;
-- 设置每个领域最后一题的跳转逻辑
-- 研发部门
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 6;
-- 项目管理
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 8;
-- 保险部门
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 10;
-- 财务部门
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 12;
-- 客服部门
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 14;
-- 运营部门
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 16;
-- 市场拓展
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 18;
-- 人力资源
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 20;
-- 综合管理
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 22;
-- 公司高管
UPDATE `question` SET `next` = JSON_OBJECT('*', 25) WHERE `number` = 24;
-- 第一个开放性问题跳转到第二个
UPDATE `question` SET `next` = JSON_OBJECT('*', 26) WHERE `number` = 25;
-- 设置最后一题标记
UPDATE `question` SET `is_last` = TRUE WHERE `number` = 26;