第1章 绪论
1.1 课题背景
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对高校教师成果信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款英语互助小程序这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短高校教师成果信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约高校教师成果信息管理需要的人力和资金。所以英语互助小程序是信息管理环节中不可缺少的工具,它对管理者来说非常重要。
4.2 功能结构设计
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的结构图(见下图)。
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是用户实体和其具备的属性。
图4.1 用户实体属性图
(2)下图是考试记录表实体和其具备的属性。
图4.2 考试记录表实体属性图
(3)下图是兴趣小组实体和其具备的属性。
图4.3 兴趣小组实体属性图
(4)下图是小组打卡实体和其具备的属性。
图4.4 小组打卡实体属性图
(5)下图是答题详情表实体和其具备的属性。
图4.5 答题详情表实体属性图
(6)下图是公告信息实体和其具备的属性。
图4.6 公告信息实体属性图
(7)下图是字典表实体和其具备的属性。
图4.7 字典表实体属性图
(8)下图是加入的小组实体和其具备的属性。
图4.8 加入的小组实体属性图
(9)下图是错题表实体和其具备的属性。
图4.9 错题表实体属性图
(10)下图是学习讨论实体和其具备的属性。
图4.10 学习讨论实体属性图
(11)下图是客服聊天实体和其具备的属性。
图4.11 客服聊天实体属性图
(12)下图是试卷表实体和其具备的属性。
图4.12 试卷表实体属性图
(13)下图是资讯收藏实体和其具备的属性。
图4.13 资讯收藏实体属性图
(14)下图是资讯评论实体和其具备的属性。
图4.14 资讯评论实体属性图
(15)下图是主题资讯实体和其具备的属性。
图4.15 主题资讯实体属性图
(16)下图是试题表实体和其具备的属性。
图4.16 试题表实体属性图
(17)下图是用户表实体和其具备的属性。
图4.17 用户表实体属性图
4.3.1 数据库物理设计
本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。
关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;
元组:元组就是数据表中的一行记录;
属性:属性就是数据表中的字段,也就是数据表中的一列;
域:域就是对数据表中属性的取值进行限定;
关键字:关键字就是数据表中的主键;
在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。
表4.1客服聊天表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 提问用户 是
3 chat_issue String 问题 是
4 issue_time Date 问题时间 是
5 chat_reply String 回复 是
6 reply_time Date 回复时间 是
7 zhuangtai_types Integer 状态 是
8 chat_types Integer 数据类型 是
9 insert_time Date 创建时间 是
表4.2字典表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 dic_code String 字段 是
3 dic_name String 字段名 是
4 code_index Integer 编码 是
5 index_name String 编码名字 是
6 super_id Integer 父字段id 是
7 beizhu String 备注 是
8 create_time Date 创建时间 是
表4.3试卷表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 exampaper_name String 试卷名称 是
3 exampaper_date Integer 考试时长(分钟) 是
4 exampaper_myscore Integer 试卷总分数 是
5 exampaper_types Integer 试卷状态 是
6 exampaper_delete Integer 逻辑删除(0代表未删除 1代表已删除) 是
7 create_time Date 创建时间 是
表4.4试题表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 exampaper_id Integer 所属试卷id(外键) 是
3 examquestion_name String 试题名称 是
4 examquestion_options String 选项,json字符串 是
5 examquestion_score Integer 分值 是
6 examquestion_answer String 正确答案 是
7 examquestion_analysis String 答案解析 是
8 examquestion_types Integer 试题类型 是
9 examquestion_sequence Integer 试题排序,值越大排越前面 是
10 create_time Date 创建时间 是
表4.5考试记录表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 examrecord_uuid_number String 考试编号 是
3 yonghu_id Integer 考试用户 是
4 exampaper_id Integer 所属试卷id(外键) 是
5 total_score Integer 所得总分 是
6 insert_time Date 考试时间 是
7 create_time Date 创建时间 是
表4.6答题详情表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 examredetails_uuid_number String 试卷编号 是
3 yonghu_id Integer 用户id 是
4 examquestion_id Integer 试题id(外键) 是
5 examredetails_myanswer String 考生答案 是
6 examredetails_myscore Integer 试题得分 是
7 create_time Date 创建时间 是
表4.7错题表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 用户id 是
3 exampaper_id Integer 试卷(外键) 是
4 examquestion_id Integer 试题id(外键) 是
5 examredetails_myanswer String 考生作答 是
6 insert_time Date 记录时间 是
7 create_time Date 创建时间 是
表4.8学习讨论表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 forum_name String 帖子标题 是
3 yonghu_id Integer 用户 是
4 users_id Integer 管理员 是
5 forum_content String 发布内容 是
6 super_ids Integer 父id 是
7 forum_types Integer 帖子类型 是
8 forum_state_types Integer 帖子状态 是
9 insert_time Date 发帖时间 是
10 update_time Date 修改时间 是
11 create_time Date 创建时间 是
表4.9加入的小组表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 xingquxiaozu_id Integer 小组 是
3 yonghu_id Integer 用户 是
4 insert_time Date 加入时间 是
5 create_time Date 创建时间 是
表4.10公告信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 news_name String 公告标题 是
3 news_types Integer 公告类型 是
4 news_photo String 公告图片 是
5 insert_time Date 公告时间 是
6 news_content String 公告详情 是
7 create_time Date 创建时间 是
表4.11兴趣小组表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 xingquxiaozu_name String 小组名称 是
3 xingquxiaozu_photo String 小组封面 是
4 xingquxiaozu_types Integer 小组类型 是
5 zhuanye_types Integer 专业 是
6 shuiping_types Integer 英语水平 是
7 xingquxiaozu_address String 所属地点 是
8 yonghu_id Integer 小组组长 是
9 xingquxiaozu_content String 小组简介 是
10 create_time Date 创建时间 是
表4.12小组打卡表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 xingquxiaozu_id Integer 兴趣小组 是
3 yonghu_id Integer 用户 是
4 xingquxiaozu_liuyan_text String 小组打卡内容 是
5 insert_time Date 小组打卡时间 是
6 create_time Date 创建时间 是
表4.13用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 用户姓名 是
3 yonghu_photo String 头像 是
4 yonghu_phone String 联系方式 是
5 yonghu_id_number String 身份证号 是
6 yonghu_email String 邮箱 是
7 yonghu_delete Integer 假删 是
8 create_time Date 创建时间 是
表4.14主题资讯表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 zhutizixun_name String 资讯标题 是
3 zhutizixun_types Integer 资讯类型 是
4 zhutizixun_photo String 资讯封面 是
5 zhutizixun_video String 资讯视频 是
6 zan_number Integer 赞 是
7 cai_number Integer 踩 是
8 insert_time Date 发布时间 是
9 zhutizixun_content String 资讯内容 是
10 create_time Date 创建时间 是
表4.15资讯收藏表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 zhutizixun_id Integer 主题资讯 是
3 yonghu_id Integer 用户 是
4 zhutizixun_collection_types Integer 类型 是
5 insert_time Date 收藏时间 是
6 create_time Date 创建时间 是
表4.16资讯评论表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 zhutizixun_id Integer 主题资讯 是
3 yonghu_id Integer 用户 是
4 zhutizixun_liuyan_text String 评论内容 是
5 insert_time Date 评论时间 是
6 update_time Date 回复时间 是
7 create_time Date 创建时间 是
表4.17用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 用户名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是