本章主要讨论的内容包括国家公务员招聘网站的功能模块设计、数据库系统设计。
本国家公务员招聘网站从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1国家公务员招聘网站系统架构设计图
表现层(UI):又称UI层,主要完成本国家公务员招聘网站的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本国家公务员招聘网站时的舒适度。UI的界面设计也要适应不同版本的国家公务员招聘网站以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本国家公务员招聘网站的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本国家公务员招聘网站的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本国家公务员招聘网站的数据存储和管理功能。
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本国家公务员招聘网站中的用例。那么接下来就要开始对本国家公务员招聘网站的架构、主要功能和数据库开始进行设计。国家公务员招聘网站根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。
图3-2国家公务员招聘网站功能模块图
后台管理员能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:
图3-3用户用户模块结构图
国家公务员招聘网站是一个交流性质的公开平台,用户用户和管理人员用户可以对平台上信息进行评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:
图3-4评论模块结构图
3.2.4招聘信息管理模块设计
国家公务员招聘网站是中需要存储不少招聘信息,其模块功能结构,具体的结构图如下:
图3-5招聘信息模块结构图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
下面是整个国家公务员招聘网站中主要的数据库表总E-R实体关系图。
图3-6国家公务员招聘网站总E-R关系图
通过上一小节中国家公务员招聘网站中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表application_information (应聘信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | application_information_id | int | 10 | 0 | N | Y | 应聘信息ID | |
2 | application_number | varchar | 64 | 0 | Y | N | 应聘编号 | |
3 | recruitment_number | varchar | 64 | 0 | Y | N | 招聘编号 | |
4 | recruitment_unit | int | 10 | 0 | Y | N | 0 | 招聘单位 |
5 | unit_code | varchar | 64 | 0 | Y | N | 单位代码 | |
6 | unit_name | varchar | 64 | 0 | Y | N | 单位名称 | |
7 | company_address | varchar | 64 | 0 | Y | N | 单位地址 | |
8 | work_telephone | varchar | 64 | 0 | Y | N | 单位电话 | |
9 | unit_level | varchar | 64 | 0 | Y | N | 单位级别 | |
10 | recruitment_major | varchar | 64 | 0 | Y | N | 招聘专业 | |
11 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘职位 | |
12 | examination_area | varchar | 64 | 0 | Y | N | 考区 | |
13 | applicants | int | 10 | 0 | Y | N | 0 | 应聘用户 |
14 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
15 | gender | varchar | 64 | 0 | Y | N | 性别 | |
16 | age | varchar | 64 | 0 | Y | N | 年龄 | |
17 | native_place | varchar | 64 | 0 | Y | N | 籍贯 | |
18 | education | varchar | 64 | 0 | Y | N | 学历 | |
19 | nation | varchar | 64 | 0 | Y | N | 民族 | |
20 | university_one_is_graduated_from | varchar | 64 | 0 | Y | N | 毕业院校 | |
21 | graduation_date | varchar | 64 | 0 | Y | N | 毕业年月 | |
22 | candidate_category | varchar | 64 | 0 | Y | N | 考生类别 | |
23 | number_of_applicants | varchar | 64 | 0 | Y | N | 报名人数 | |
24 | curriculum_vitae | varchar | 255 | 0 | Y | N | 个人简历 | |
25 | student_registration_verification | varchar | 64 | 0 | N | N | 学籍验证 | |
26 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
27 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
28 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
29 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
30 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表comment (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表examination_area (考区)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | examination_area_id | int | 10 | 0 | N | Y | 考区ID | |
2 | examination_area | varchar | 64 | 0 | Y | N | 考区 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表interview_notice (面试通知)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | interview_notice_id | int | 10 | 0 | N | Y | 面试通知ID | |
2 | application_number | varchar | 64 | 0 | N | N | 应聘编号 | |
3 | recruitment_number | varchar | 64 | 0 | Y | N | 招聘编号 | |
4 | recruitment_unit | int | 10 | 0 | Y | N | 0 | 招聘单位 |
5 | unit_code | varchar | 64 | 0 | Y | N | 单位代码 | |
6 | unit_name | varchar | 64 | 0 | Y | N | 单位名称 | |
7 | company_address | varchar | 64 | 0 | Y | N | 单位地址 | |
8 | work_telephone | varchar | 64 | 0 | Y | N | 单位电话 | |
9 | unit_level | varchar | 64 | 0 | Y | N | 单位级别 | |
10 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘职位 | |
11 | examination_area | varchar | 64 | 0 | Y | N | 考区 | |
12 | applicants | int | 10 | 0 | Y | N | 0 | 应聘用户 |
13 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
14 | notification_title | varchar | 64 | 0 | Y | N | 通知标题 | |
15 | interview_location | varchar | 64 | 0 | Y | N | 面试地点 | |
16 | interview_time | date | 10 | 0 | Y | N | 面试时间 | |
17 | remarks | varchar | 64 | 0 | Y | N | 备注 | |
18 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表ordinary_users (普通用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | ordinary_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | age | varchar | 64 | 0 | Y | N | 年龄 | |
5 | native_place | varchar | 64 | 0 | Y | N | 籍贯 | |
6 | education | varchar | 64 | 0 | Y | N | 学历 | |
7 | nation | varchar | 64 | 0 | Y | N | 民族 | |
8 | university_one_is_graduated_from | varchar | 64 | 0 | Y | N | 毕业院校 | |
9 | graduation_date | varchar | 64 | 0 | Y | N | 毕业年月 | |
10 | candidate_category | varchar | 64 | 0 | Y | N | 考生类别 | |
11 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表public_notice_of_entrance_examination (招考公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | public_notice_of_entrance_examination_id | int | 10 | 0 | N | Y | 招考公告ID | |
2 | announcement_title | varchar | 64 | 0 | Y | N | 公告标题 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | announcement_date | date | 10 | 0 | Y | N | 公告日期 | |
5 | announcement_attachment | varchar | 255 | 0 | Y | N | 公告附件 | |
6 | announcement_content | longtext | 2147483647 | 0 | Y | N | 公告内容 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表recruitment_information (招聘信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | recruitment_information_id | int | 10 | 0 | N | Y | 招聘信息ID | |
2 | recruitment_number | varchar | 64 | 0 | Y | N | 招聘编号 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | recruitment_unit | int | 10 | 0 | Y | N | 0 | 招聘单位 |
5 | unit_code | varchar | 64 | 0 | Y | N | 单位代码 | |
6 | unit_name | varchar | 64 | 0 | Y | N | 单位名称 | |
7 | company_address | varchar | 64 | 0 | Y | N | 单位地址 | |
8 | work_telephone | varchar | 64 | 0 | Y | N | 单位电话 | |
9 | unit_level | varchar | 64 | 0 | Y | N | 单位级别 | |
10 | recruitment_major | varchar | 64 | 0 | Y | N | 招聘专业 | |
11 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘职位 | |
12 | number_of_recruiters | int | 10 | 0 | Y | N | 0 | 招聘人数 |
13 | examination_area | varchar | 64 | 0 | Y | N | 考区 | |
14 | job_description | longtext | 2147483647 | 0 | Y | N | 职位简述 | |
15 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
16 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表recruitment_unit (招聘单位)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | recruitment_unit_id | int | 10 | 0 | N | Y | 招聘单位ID | |
2 | unit_code | varchar | 64 | 0 | N | N | 单位代码 | |
3 | unit_name | varchar | 64 | 0 | Y | N | 单位名称 | |
4 | company_address | varchar | 64 | 0 | Y | N | 单位地址 | |
5 | work_telephone | varchar | 64 | 0 | Y | N | 单位电话 | |
6 | unit_level | varchar | 64 | 0 | Y | N | 单位级别 | |
7 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表unit_level (单位级别)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | unit_level_id | int | 10 | 0 | N | Y | 单位级别ID | |
2 | unit_level | varchar | 64 | 0 | Y | N | 单位级别 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表written_examination_notice (笔试通知)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | written_examination_notice_id | int | 10 | 0 | N | Y | 笔试通知ID | |
2 | application_number | varchar | 64 | 0 | N | N | 应聘编号 | |
3 | recruitment_number | varchar | 64 | 0 | Y | N | 招聘编号 | |
4 | recruitment_unit | int | 10 | 0 | Y | N | 0 | 招聘单位 |
5 | unit_code | varchar | 64 | 0 | Y | N | 单位代码 | |
6 | unit_name | varchar | 64 | 0 | Y | N | 单位名称 | |
7 | company_address | varchar | 64 | 0 | Y | N | 单位地址 | |
8 | work_telephone | varchar | 64 | 0 | Y | N | 单位电话 | |
9 | unit_level | varchar | 64 | 0 | Y | N | 单位级别 | |
10 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘职位 | |
11 | examination_area | varchar | 64 | 0 | Y | N | 考区 | |
12 | applicants | int | 10 | 0 | Y | N | 0 | 应聘用户 |
13 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
14 | notification_title | varchar | 64 | 0 | Y | N | 通知标题 | |
15 | place_of_written_examination | varchar | 64 | 0 | Y | N | 笔试地点 | |
16 | written_test_time | date | 10 | 0 | Y | N | 笔试时间 | |
17 | remarks | varchar | 64 | 0 | Y | N | 备注 | |
18 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
3.4本章小结
整个国家公务员招聘网站的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
专业做网站公司哪家技术好南宁网络推广方案天元建设集团有限公司衡阳分公司千图网app下载重庆多个区划定风险区深圳网站开发哪个公司好成都住建局官网咨询电话微信公众平台网页制作电话网络营销是什么疫情网页设计素材室内设计接单网站影响网站排名的因素hbuilder 怎么做企业网站ps在线重庆新闻联播回看字体在线生成器南通企业建站系统模板南京网站制作服务商十大食品公司官网机票特价机票查询市场调查数据分析3d自学网站秀堂h5官网欧莱雅采用了哪些网络营销方式公司设计一个网站需要多久建站不备案网页游戏制作难吗最靠谱的装修平台莆田百度seo排名廉洁四川官方网权威发布山东软件开发的公司