本文核心内容:我之前开发了一个调查问卷项目,我分享一下自己项目构建、构思的过程。
目录
该问卷项目参考了问卷星、腾讯问卷等功能设置,库表设计参考了开源项目“调问”,调问的开源版本基于ssh项目。因此本人只借鉴了它的设计思路,并加以实现。
在这个项目的开发中,我自己承担页面布局、功能需求分析、库表设计、后端代码编写、部分前端代码。我从中学习到了,如果你想自己做一个项目,你需要清楚的了解项目的页面布局及其流程,设计出符合你要求库表并代码实现。 这个项目很简单,掌握其库表设计,即使是刚刚学完后端开发流程的人也能够完成该项目的后端开发任务。
数据库库表设计也是后端开发需要掌握的一项技能。
一:问卷调查的系统设计【简介】

题型:
展示/隐藏系统内置的题型。
题目:
1)所有的题目都存在同一个表里
2)每种题型的选项存在不同的表里
3)有的题型才有题目逻辑
单选、多选->可以根据跳转不同的题
评分题->更改评分的范围
题库:
1)题库分为:系统题库和专业题库
问卷:
1)问卷基本信息存储,问卷题目个数等基本信息;问卷回收设置,用来设置回收问卷的方式、问卷发布截止时间等等;问卷样式存储问卷展示样式。
2)问卷答案按照题型分门别类的存储在不同表里。
3)问卷分析是存储了被调研人的基本信息。
二:问卷调查的UI功能设计【简介】
1)题型管理(菜单)
控制问卷编辑页面展示的题型。

2)问卷管理(菜单)
展示所有问卷。新增、搜索、编辑、删除、发布、复制、统计、分析。
问卷列表页面

问卷编辑

题目设置

问卷发布

3)答卷分析

4)答卷统计 (统计答卷的IP,答卷时间等信息)

答卷详情页面 (回显答案)

三:问卷调查 — 项目难点【简介】
1)题目 <---------> 题型
题型是一个软控制,题目与题型无强绑定关系。
2)题目 <---------> 选项
选项属于一个题目,可以通过题目ID找到该题的所有选项。
3)题目 <---------> 问卷
在设计问卷的时候,将问卷ID固定在每个题目上 ==> 一个题目信息只属于一个问卷。可以通过问卷ID找到所有的题目。
问题:冗余题目及其选项会有很多,每个人都只能看到自己的问卷里信息。没有一个同意共用题库的概念。
解决方案:维护一个系统题库供所有用户选择。目前并没有实现。
4)问卷发布
问卷ID -> 问卷详情 【调查问卷页】
5)答卷与答案
答卷记录着问卷ID,每道题的答案记录着答卷ID、问卷ID、答案选项ID等信息。
四:问卷调查 — 项目库表【简介】
题目设计
题目类型表
CREATE TABLE `eva_question_type` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`question_type_name` varchar(255) DEFAULT NULL COMMENT '题型大类名称',
`question_type_code` varchar(255) DEFAULT NULL COMMENT '题型大类Code',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='题型大类表';
题目详情表
CREATE TABLE `eva_question_detail` (
`id` varchar(64) NOT NULL COMMENT '主键Id',
`survey_id` varchar(64) DEFAULT NULL COMMENT '所属问卷、题库',
`question_name` varchar(255) DEFAULT NULL COMMENT '题目名称',
`question_content` varchar(255) DEFAULT NULL COMMENT '题目内容 ',
`keyword` varchar(255) DEFAULT NULL COMMENT '关键词',
`tag` varchar(255) DEFAULT NULL COMMENT '题库题or问卷',
`question_type_code` varchar(255) DEFAULT NULL COMMENT '题型代码',
`question_type_name` varchar(255) DEFAULT NULL COMMENT '题型名称',
`order_id` int(11) DEFAULT NULL COMMENT '排序ID',
`question_tag` int(255) DEFAULT NULL COMMENT '是否是大小题 1默认题 2大题 3大题下面的小题',
`parent_question_id` varchar(64) DEFAULT NULL COMMENT '所属大题 只有小题才有此属性 即quTag=3的题',
`answer_input_width` int(255) DEFAULT NULL COMMENT '填空的input 宽度',
`answer_input_row` int(255) DEFAULT NULL COMMENT '填空的input 行',
`check_type` varchar(255) DEFAULT NULL COMMENT '检测类型',
`paramInt01` varchar(255) DEFAULT NULL COMMENT '枚举题 枚举项数目 ,评分题起始分值',
`paramInt02` int(255) DEFAULT NULL COMMENT '评分题,最大分值',
`is_hv` int(255) DEFAULT '1' COMMENT '1水平显示 2垂直显示',
`rand_order` int(255) DEFAULT '0' COMMENT '选项随机排列 1随机排列 0不随机排列',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`is_required` int(255) DEFAULT '1' COMMENT '是否必填',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='题目详情表';
题目逻辑表
CREATE TABLE `eva_question_logic` (
`id` varchar(64) NOT NULL COMMENT '题目逻辑主键',
`select_question_id` varchar(64) DEFAULT NULL COMMENT '当前选择题题号',
`select_question_item_id` varchar(64) DEFAULT NULL COMMENT '当前选择题选项',
`skip_question_id` varchar(64) DEFAULT NULL COMMENT '跳跃到的题号',
`logic_type` varchar(255) DEFAULT NULL COMMENT '逻辑类型1=跳转;2=显示',
`ge_le` varchar(255) DEFAULT NULL COMMENT '评分题 ge大于,le小于',
`score_number` int(11) DEFAULT NULL COMMENT '评分总值',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='题目逻辑表';
题型选项\题型答案表
单选题
CREATE TABLE `eva_radio_option` (
`id` varchar(64) NOT NULL COMMENT '主键',
`question_id` varchar(64) DEFAULT NULL COMMENT '问题ID',
`option_title` varchar(400) DEFAULT NULL COMMENT '选项标题',
`option_content` varchar(400) DEFAULT NULL COMMENT '选项内容',
`check_type` varchar(255) DEFAULT NULL COMMENT '检查类型',
`order_id` int(11) DEFAULT NULL COMMENT '排序ID',
`is_required` int(255) DEFAULT '1' COMMENT '是否必填',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`is_noted` int(255) DEFAULT '0' COMMENT '是否带说明',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='单选选项表';
CREATE TABLE `eva_radio_answer` (
`id` varchar(64) NOT NULL COMMENT '主键',
`survey_id` varchar(64) DEFAULT NULL COMMENT '所属问卷id',
`survey_answer_id` varchar(64) DEFAULT NULL COMMENT '对应的答卷信息表',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`question_item_id` varchar(64) DEFAULT NULL COMMENT '对应的结果ID',
`other_text` varchar(255) DEFAULT NULL COMMENT '复合的说明',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='单选答案表';
多选题
CREATE TABLE `eva_checkbox_option` (
`id` varchar(64) NOT NULL COMMENT '主键',
`question_id` varchar(64) DEFAULT NULL COMMENT '问题ID',
`option_title` varchar(400) DEFAULT NULL COMMENT '选项标题',
`option_content` varchar(400) DEFAULT NULL COMMENT '选项内容',
`check_type` varchar(255) DEFAULT NULL COMMENT '检查类型',
`order_id` int(11) DEFAULT NULL COMMENT '排序ID',
`is_required` int(255) DEFAULT '1' COMMENT '是否必填',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`is_noted` int(255) DEFAULT '0' COMMENT '是否带说明',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='多选选项表';
CREATE TABLE `eva_checkbox_answer` (
`id` varchar(64) NOT NULL COMMENT '主键',
`survey_id` varchar(64) DEFAULT NULL COMMENT '所属问卷id',
`survey_answer_id` varchar(64) DEFAULT NULL COMMENT '对应的答卷信息表',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`question_item_id` varchar(64) DEFAULT NULL COMMENT '对应的结果ID',
`other_text` varchar(255) DEFAULT NULL COMMENT '复合的说明',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='多选答案表';
下拉题
CREATE TABLE `eva_dropdown_option` (
`id` varchar(64) NOT NULL COMMENT '主键',
`question_id` varchar(64) DEFAULT NULL COMMENT '问题ID',
`option_title` varchar(400) DEFAULT NULL COMMENT '选项标题',
`option_content` varchar(400) DEFAULT NULL COMMENT '选项内容',
`check_type` varchar(255) DEFAULT NULL COMMENT '检查类型',
`order_id` int(11) DEFAULT NULL COMMENT '排序ID',
`is_required` int(255) DEFAULT '1' COMMENT '是否必填',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`is_noted` int(255) DEFAULT '0' COMMENT '是否带说明',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='下拉选项表';
CREATE TABLE `eva_dropdown_answer` (
`id` varchar(64) NOT NULL COMMENT '主键',
`survey_id` varchar(64) DEFAULT NULL COMMENT '所属问卷id',
`survey_answer_id` varchar(64) DEFAULT NULL COMMENT '对应的答卷信息表',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`question_item_id` varchar(64) DEFAULT NULL COMMENT '对应的结果ID',
`other_text` varchar(255) DEFAULT NULL COMMENT '复合的说明',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='下拉答案表';
填空答案表
CREATE TABLE `eva_blank_answer` (
`id` varchar(64) NOT NULL COMMENT '主键',
`survey_id` varchar(64) DEFAULT NULL COMMENT '所属问卷id',
`survey_answer_id` varchar(64) DEFAULT NULL COMMENT '对应的答卷信息表',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`question_answer` varchar(1000) DEFAULT NULL COMMENT '对应的填空答案',
`other_text` varchar(255) DEFAULT NULL COMMENT '复合的说明',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='填空答案表';
矩阵行列表
CREATE TABLE `eva_matrix_row` (
`id` varchar(64) NOT NULL COMMENT '主键',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`option_content` varchar(255) DEFAULT NULL COMMENT '选项内容',
`order_id` int(11) DEFAULT NULL COMMENT '排序ID',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='矩阵行数据表';
CREATE TABLE `eva_matrix_column` (
`id` varchar(64) NOT NULL COMMENT '主键',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`option_content` varchar(255) DEFAULT NULL COMMENT '选项内容',
`order_id` int(11) DEFAULT NULL COMMENT '排序ID',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='矩阵列数据表';
矩阵单选、多选答案表
CREATE TABLE `eva_radio_matrix` (
`id` varchar(64) NOT NULL COMMENT '主键',
`survey_id` varchar(64) DEFAULT NULL COMMENT '所属问卷id',
`survey_answer_id` varchar(64) DEFAULT NULL COMMENT '对应的答卷信息表',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`question_row_id` varchar(64) DEFAULT NULL COMMENT '行ID',
`question_column_id` varchar(64) DEFAULT NULL COMMENT '列ID',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='矩阵单选答案表';
CREATE TABLE `eva_checkbox_matrix` (
`id` varchar(36) NOT NULL COMMENT '主键',
`survey_id` varchar(64) DEFAULT NULL COMMENT '所属问卷id',
`survey_answer_id` varchar(64) DEFAULT NULL COMMENT '对应的答卷信息表',
`question_id` varchar(64) DEFAULT NULL COMMENT '题目ID',
`question_row_id` varchar(64) DEFAULT NULL COMMENT '行ID',
`question_column_id` varchar(64) DEFAULT NULL COMMENT '列ID',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否可见',
`remark` varchar(400) DEFAULT NULL COMMENT '备注',
`is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` smallint(6) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(42) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(42) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(30) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(42) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(42) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(30) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(9) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='矩阵多选答案表';
问卷设计
问卷信息表
CREATE TABLE `eva_survey_detail` (
`id` varchar(64) NOT NULL COMMENT '问卷ID',
`short_id` varchar(64) DEFAULT NULL COMMENT '用于短链接的ID',
`survey_name` varchar(500) DEFAULT NULL COMMENT '问卷名称',
`user_id` varchar(64) DEFAULT NULL COMMENT '用户Id',
`dir_type` int(255) DEFAULT NULL COMMENT '//1目录,2问卷',
`survey_setting_id` varchar(64) DEFAULT NULL COMMENT '所对应的问卷详细信息表Id 当dirType=2',
`create_date` varchar(255) DEFAULT NULL COMMENT '创建时间',
`survey_state` int(255) DEFAULT NULL COMMENT '问卷状态 0默认设计状态 1执行中 2结束 ',
`survey_question_num` int(11) DEFAULT NULL COMMENT '问卷题目个数',
`answer_least_num` int(11) DEFAULT NULL COMMENT '//可以回答的最少选项数目 ',
`answer_count` int(11) DEFAULT NULL COMMENT '回答次数',
`is_visibled` int(255) DEFAULT '1' COMMENT '是否显示 1显示 0不显示',
`survey_model` int(255) DEFAULT NULL COMMENT '问卷所属的问卷模块 1问卷模块',
`view_answer` int(255) DEFAULT NULL COMMENT '是否公开结果 0不 1公开',
`is_share` int(255) DEFAULT NULL COMMENT '是否共享问卷 0不共享 1共享 ',
`excerpt_num` int(11) DEFAULT NULL COMMENT '引用次数',
`survey_tag` int(255) DEFAULT NULL COMMENT '//问卷标识 默认 0待审核 1审核通过 2审核未通过',
`html_path` varchar(255) DEFAULT NULL COMMENT '静态HTML保存路径',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`is_enabled` int(255) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` int(255) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` varchar(255) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(255) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(255) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(0) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(255) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(255) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(0) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(255) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='问卷详情信息';
问卷设置表
CREATE TABLE `eva_survey_setting` (
`id` varchar(64) NOT NULL COMMENT '问卷设置信息',
`survey_id` varchar(64) DEFAULT NULL COMMENT '问卷ID',
`effective_type` int(255) DEFAULT NULL COMMENT '问卷有效性 限制 --------- \n1不限制, 2使用Cookie技术, 3使用来源IP检测 4 每台电脑或手机只能答一次\n',
`effective_time` varchar(255) DEFAULT NULL COMMENT '有效间隔',
`effective_ip` varchar(255) DEFAULT NULL COMMENT '同一ip只能回答一次',
`refresh` int(255) DEFAULT NULL COMMENT '防刷新 1启用 0不启用',
`refresh_count` int(255) DEFAULT NULL COMMENT '刷新次数',
`rule` int(255) DEFAULT NULL COMMENT '查规则 -------- 1公开, 2私有, 3令牌 ',
`rule_code` varchar(255) DEFAULT NULL,
`end_type` int(255) DEFAULT NULL COMMENT '结束方式 ---------- 1手动结束 2依据结束时间 3依据收到的份数',
`end_time` varchar(0) DEFAULT NULL COMMENT '结束时间',
`end_count` int(255) DEFAULT NULL COMMENT '接收问卷个数',
`survey_note` varchar(255) DEFAULT NULL COMMENT '问卷说明',
`yn_end_num` int(11) DEFAULT NULL COMMENT '是否依据个数结束',
`yn_end_time` int(11) DEFAULT NULL COMMENT '是否依据时间结束',
`survey_question_num` int(11) DEFAULT NULL COMMENT '问卷题目个数',
`answer_least_num` int(11) DEFAULT NULL COMMENT '最少回答个数',
`answer_most_num` int(11) DEFAULT NULL COMMENT '最多回答个数',
`show_share_survey` varchar(255) DEFAULT NULL COMMENT '问卷共享',
`show_share_answer` varchar(255) DEFAULT NULL COMMENT '问卷答案共享',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`is_enabled` int(255) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` int(255) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` varchar(255) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(255) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(255) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(0) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(255) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(255) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(0) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(255) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
答卷信息
CREATE TABLE `eva_survey_answer` (
`id` varchar(64) NOT NULL COMMENT '主键',
`survey_id` varchar(64) DEFAULT NULL COMMENT '问卷ID',
`user_id` varchar(64) DEFAULT NULL COMMENT '用户ID',
`begin_answer_date` varchar(255) DEFAULT NULL COMMENT '开始答题时间',
`end_answer_date` varchar(255) DEFAULT NULL COMMENT '结束答题时间',
`total_time` int(255) DEFAULT NULL COMMENT '答题总用时',
`ip_addr` varchar(255) DEFAULT NULL COMMENT '用户IP地址',
`addr` varchar(255) DEFAULT NULL COMMENT '用户详细地址',
`city` varchar(255) DEFAULT NULL COMMENT '用户所在城市',
`pc_mac` varchar(255) DEFAULT NULL COMMENT '电脑mac',
`question_number` int(255) DEFAULT NULL COMMENT '问题总数',
`is_complete` int(255) DEFAULT NULL COMMENT '是否完成',
`complete_number` int(64) DEFAULT NULL COMMENT '答题数量',
`complete_item_num` int(64) DEFAULT NULL COMMENT '答题选项数量',
`is_effective` int(255) DEFAULT NULL COMMENT '数据--有效情况 根据设计问卷时指定的必填项\n是否在有效时间答题',
`handle_state` int(255) DEFAULT NULL COMMENT '数据--审核情况\n审核状态 0未处理 1通过 2不通过',
`data_source` int(255) DEFAULT NULL COMMENT '不同来源数据\n//数据来源 0网调 1录入数据 2移动数据 3导入数据',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`is_enabled` int(255) NOT NULL DEFAULT '1' COMMENT '是否启用',
`is_deleted` int(255) NOT NULL DEFAULT '0' COMMENT '是否已删除',
`ord_seq` varchar(255) DEFAULT NULL COMMENT '显示顺序',
`creator` varchar(255) DEFAULT NULL COMMENT '创建用户',
`creator_name` varchar(255) DEFAULT NULL COMMENT '创建人姓名',
`created_time` varchar(0) DEFAULT NULL COMMENT '创建时间 YYYY-MM-DD HH:MM:SS',
`modifier` varchar(255) DEFAULT NULL COMMENT '最后修改用户',
`modifier_name` varchar(255) DEFAULT NULL COMMENT '最后修改人姓名',
`modified_time` varchar(255) DEFAULT NULL COMMENT '最后修改时间',
`ver` int(255) NOT NULL DEFAULT '0' COMMENT '最后版本',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='问卷答卷信息';
411



被折叠的 条评论
为什么被折叠?



