本文核心内容:我之前开发了一个调查问卷项目,我分享一下自己项目构建、构思的过程。


目录

一:问卷调查的系统设计【简介】

二:问卷调查的UI功能设计【简介】

三:问卷调查 — 项目难点【简介】

四:问卷调查 — 项目库表【简介】


该问卷项目参考了问卷星、腾讯问卷等功能设置,库表设计参考了开源项目“调问”,调问的开源版本基于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='问卷答卷信息';

项目笔记 【调查问卷】相关推荐

  1. Vue.js学习笔记—调查问卷WebApp

    参考<Vue,js>实战(梁灏编著) 基础篇的章节内容涵盖了Vue.js 2.x最常用的功能.如果不需要前端路由和自动化工程,已经可以利用这些内容做一些中小型项目了.在进入进阶篇之前,通过 ...

  2. 3.Vue.js 实战 调查问卷WebApp项目

    问卷调查demo已上传,欢迎大家指正,欢迎大家下载:https://download.csdn.net/download/lzb348110175/11085995 如果您没积分的话,可以私信/评论, ...

  3. javaWeb-SpringBoot微信调查问卷+问卷数据大屏项目

    项目效果概览: 项目架构: 获取文件模板,前端就会展示问卷的列表,我们就可以选择选项,结果就会同步到我们的后端,通过后端把统计结果发生到前端,完成整个流程. git仓库地址: 目录标题 项目效果概览: ...

  4. 自己写一个调查问卷Web项目 (超详细版)

    一.项目介绍 发起问卷,管理问卷信息,把问卷结果通过可视化方式呈现出来 二.技术栈 Servlet MySQL Apache Echarts 三.项目功能 用户管理:注册.登录.登出 题库管理:录制题 ...

  5. 国外调查问卷项目赚美金

    大家好,我是小匠,问卷行业4年经验,每天给大家分享各种国外问卷的技巧!不吹不擂,都是干货,看看我文章就懂. 国外问卷调查撸美金项目,就是回答一些有偿的西方国家的政府机构和各类组织的社会调查问卷来获得报 ...

  6. Python实战项目:高血压检测项目调查问卷接口的测试

    Python实战项目:高血压检测项目调查问卷接口的测试 在前面的Python实战项目中介绍过高血压检测项目和自动化综合测试的相关内容,那么如何结合自动化综合测试的内容进行高血压检测项目的测试呢,尤其是 ...

  7. 轻松淘金开发者杂谈:铺天盖地的调查问卷兼职项目,你做过吗?月入1-300

    作为从事这领域那么多年,我一直认为,没有人能长久的坚持做调查赚钱,刚刚我登入爱调查,发现好多年前过一位用户,2015到现在吧,他还坚持每个月做爱调查,一个月就200-300收入,而且还会遇到很多糟心事 ...

  8. java调查问卷系统-投票系统-SSM项目实战

    课程基于Layui+Spring+SpringMVC+MyBatis开发小而完整的调查问卷系统实战 源码地址 链接:https://pan.baidu.com/s/1PCr0FUYevO9VsKIwd ...

  9. 计算机毕业设计、实战项目之 [课设文档]基于JSP的在线调查问卷系统[包运行成功]

    <基于JSP的在线调查问卷系统>该项目采用技术:jsp +servlet +mysql+jdbc+css+js等相关技术,项目含有源码.课设报告.配套开发软件.软件安装教程.项目发布教程等 ...

最新文章

  1. Linux进程间通信(IPC)-------消息队列
  2. RSA遭骇 Token 换?不换?
  3. ATTENTION QKV理解
  4. OAF[1]开发环境的配置
  5. sublime 设置自动更新_不止是自动更新!简单几步让Windows 10变听话的孩子
  6. mysql保留2位小数字段如何设置 浮点数
  7. RabbitMQ通配符模式
  8. pytorch之torch.backends.cudnn.benchmark=True——使用 GPU 来加速网络的训练
  9. strace 哇,好多系统调用
  10. Java基础知识(二)之控制语句
  11. 用JS实现一个随机点名系统(五)
  12. 在 Docker 中使用 mysql 的一些技巧 1
  13. ubuntu查看opencv版本
  14. wps+for+linux+字体大小,WPS for Linux(ubuntu)字体配置(字体缺失解决办法)
  15. 云风:游戏数值公式的表象与本质
  16. Python 保留字和关键字的用法
  17. NIOS ii 实战篇 --- 按键控制LED
  18. 服务器vga转hdmi显示器不亮,手把手教你排除HDMI转VGA常见故障
  19. [vue] Vuex中四个map方法的使用 mapState mapGetters mapActions mapMutations
  20. 使用SaveFileDialog将DataTable文件保存成csv文件

热门文章

  1. 如何扫描远程主机开放的端口?
  2. 猿编程python代码_程序猿编程课堂 Python学习之入门篇3:简单的数据类型
  3. 马蜂窝 iOS App 启动治理:回归用户体验
  4. java 发送Email BY 163.com
  5. 怎么一次性删除PPT中所有动画效果?
  6. 基于OpenCV自带分类器识别人脸
  7. python爬去百度文库资料_Python在线百度文库爬虫(免下载券)
  8. android canvas 背景图片,Android更改canvas背景颜色而不会丢失任何图纸
  9. 58java面试题_58同城java后台开发面试经验|面试题 - 职朋职业圈
  10. 百度迁徙大数据整理[2020+2019同期]