招聘网数据库系统说明书

一、需求分析

1.1 背景

  随着互联网的快速发展,网民数量的不断增加,人们上网的途径也越来越方便,网络在现代人生活中的应用也越来越广泛。与互联网相结合的网络招聘在解决了部分大学生工作的同时,也大大减少了人力、物力的消耗以及大学毕业生奔波路途的时间和精力,其效果也将远远超过传统招聘所获得的效果。目前,网络招聘已发展成为深受招聘求职者喜欢的一种求职招聘环境。互联网给求职招聘者提供了丰富的资源,未他们创造出一种良好的求职招聘平台,具备现实中人才中介机构的功能。招聘求职网站为应聘者提供了方便、快捷的应聘途径,不仅信息更新快、信息数量多、而且选择余地大。对招聘单位来说,招聘网站不仅为他们开辟了招聘人才的新方式,而且使其工作流程更加方便、快捷、高效。使得招聘工作中的人员初选工作变得轻松简单。双方通过交互式的网上登陆和查询完成信息的交流。这种现代化招聘方式与传统招聘方式有很大的不同,它不需要时间和空间上保持绝对的一致,方便了双方时间的选择。
  网络招聘在节约招聘单位和求职者双方的费用上有很大的优势。求职者可以通过互联网对工作类型、地点、工作待遇等条件进行筛选之后快速得到自己想要的招聘信息并投递简历,大大减少了打印简历和证书、交通等当面的费用;对于招聘单位而言,在网上发布招聘信息不仅仅能够帮助扩大招聘信息的覆盖面及宣传度,还能帮助企业节约不少传统招聘所需的人力、财力资源,而且对信息的发布和修改也十分方便。招聘网就是这样一个跨时间和空间的信息互动过程。招聘单位与求职者的双方的积极互动将促进网络招聘的功能更加完善,而网络招聘也将减少企业招聘和求职者应聘过程中的盲目行为,大大提高招聘求职规模和招聘求职成功率。

1.2功能需求

网站主要用户角色分为应聘用户、企业用户
个人用户: 用户注册
      用户信息管理
      创建简历
      简历信息管理
      投放简历
企业用户: 用户注册
      用户信息管理
      发布招聘信息
      招聘信息管理
      获得相关简历的投放信息
      管理简历的评判成绩

1.3数据需求

1.3.1流程图

招聘网---数据流程图

1.3.2数据需求表

数据组名:用户信息
与其他数据的约束关系:与简历存在一对多关系

数据项名 数据类型 数据长度 小数位数 约束 允许空值 备注
用户名 Varchar 20 - -
口令 Varchar 20 长度为6-16个字符 不允许空格 可用MD5算法加密
性别 Varchar 2 - -
邮件地址 Varchar 32 - unique
联系电话 Varchar 11 - unique

数据组名:企业信息
与其他数据的约束关系:与招聘信息存在一对多关系

数据项名 数据类型 数据长度 小数位数 约束 允许空值 备注
企业名称 Varchar 20 - foreign key
公司地址 Varchar 128 -
公司成立时间 Varchar 20 -
邮件地址 Varchar 40 - unique
公司性质 Varchar 40 -
联系电话 Varchar 11 - unique
公司规模 Varchar 20 -
公司简介 Varchar 255 -

数据组名:简历信息
与其他数据的约束关系:与用户存在一对一关系

数据项名 数据类型 数据长度 小数位数 约束 允许空值 备注
求职类别 Varchar 40 -
求职者姓名 Varchar 20 -
出生日期 Varchar 20 -
现居住地 Varchar 20 -
学历 Varchar 40 -
工作经验 Varchar 128 -
毕业院校 Varchar 40 -
主修专业 Varchar 20 -
邮件 Varchar 20 - unique
联系电话 Int 20 - unique
个人介绍 Varchar 128 -
期望工作 Varchar 40 -

数据组名:招聘信息
与其他数据的约束关系:与企业存在多对一关系

数据项名 数据类型 数据长度 小数位数 约束 允许空值 备注
所发布岗位类别 Varchar 40 -
岗位名称 Varchar 2 -
岗位地址 Varchar 40 -
学历要求 Varchar 20 -
性别要求 Varchar 10 -
工作经验要求 Varchar 20 -
年龄要求 Int 20 -
岗位地址 Varchar 40 -
工资 Varchar 20 -
招聘人数 Int 10 -
联系电话 Varchar 11 - unique
邮箱 Varchar 20 - unique
岗位简介 Varchar 128 -
发布时间 Varchar 20 -

二、概念模型

招聘网 E-R图

三、逻辑模型

招聘网---关系模式图

1. 用户信息(user)

属性名 说明 类型 长度 默认值 允许空值 约束
id 用户id,主码 Varchar 15 - -
mid 用户对应的网站管理信息 Varchar 20 - 外码,参照manage中的id
name 姓名/联系人 Varchar 20 - -
sex 性别 Varchar 2 - -
email 邮件地址 Varchar 20 - -
tel 联系电话 Varchar 20 - -

2. 公司信息(company)

属性名 说明 类型 长度 默认值 允许空值 约束
id 公司id,主码 Varchar 15 - -
mid 公司对应的网站管理信息 Varchar 20 - 外码,参照manage中的id
name 公司名称 Varchar 20 - -
address 公司地址 Varchar 20 - -
establish 公司成立时间 Varchar 10 - -
email 邮件地址 Varchar 20 - -
property 公司性质 Varchar 20 - -
tel 联系电话 Varchar 20 - -
scale 公司规模 Varchar 10 - -
intro 公司简介 Varchar 300 - -

3. 管理信息(manage)

属性名 说明 类型 长度 默认值 允许空值 约束
id 注册id,主码 Varchar 15 - -
password 密码 Varchar 20 - -
role 用户角色 Varchar 2 - -

4. 简历(CV)

属性名 说明 类型 长度 默认值 允许空值 约束
id 简历id,主码 Varchar 15 - -
category 求职类型 Varchar 15 - 外码,参照job_category中的cate_name
name 名字 Varchar 20 - -
sex 性别 Varchar 2 - -
birth 出生日期 Varchar 20 - -
address 居住地址 Varchar 20 - -
education 学历 Varchar 10 - -
work_exp 工作经验 Varchar 10 - -
school 毕业院校 Varchar 20 - -
major 主修专业 Varchar 20 - -
email 邮箱 Varchar 20 - -
tel 联系电话 Varchar 20 - -
intro 个人介绍 Varchar 300 - -
expected_job 期望工作 Varchar 20 - -

5. 岗位(job_deliver)

属性名 说明 类型 长度 默认值 允许空值 约束
id 岗位id,主码 Varchar 15 - -
category 岗位类别 Varchar 20 - 外码,参照manage中的id
job_name 岗位名称 Varchar 10 - -
sex 性别要求 Varchar 5 - -
education 学历要求 Varchar 10 - -
work_year 工作经验要求 Varchar 10 - -
age 年龄要求 Varchar 10 - -
position 岗位地址 Varchar 20 - -
salary 工资 Varchar 10 - -
num 招聘人数 Int 4 - -
contact 联系方式 Varchar 20 - -
description 岗位介绍 Varchar 300 - -
created_time 发布时间 Varchar 20 - -

6. 岗位类别(job_category)

属性名 说明 类型 长度 默认值 允许空值 约束
cate_name 岗位类别 Varchar 10 - -
pre_cate 岗位的父类类别,若无父类,则为空 Varchar 20 - 否 -

7. 用户-简历(user-CV)

属性名 说明 类型 长度 默认值 允许空值 约束
id 用户-简历id,主码 Varchar 15 - -
user_id 对应的用户id Varchar 20 - 外码,参照user中的id
cv_id 对应的简历id Varchar 20 - 外码,参照CV中的id

8. 公司-岗位(company-job)

属性名 说明 类型 长度 默认值 允许空值 约束
id 公司-岗位id,主码 Varchar 15 - -
company_id 对应的公司id Varchar 20 - 外码,参照company中的id
job_deliver_id 对应的岗位id Varchar 20 - 外码,参照job_deliver中的id

9. 简历投递(job-wanted)

属性名 说明 类型 长度 默认值 允许空值 约束
id 用户-简历id,主码 Varchar 15 - -
job_deliver_id 对应的招聘岗位id Varchar 20 - 外码,参照job_deliver中的id
cv_id 对应的简历id Varchar 20 - 外码,参照CV中的id
result 投递状态 Varchar 10 - -

四、建表代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
1.建立数据库:
CREATE DATABASE jobnetwork;
USE jobnetwork;

2.建立管理信息表:
CREATE TABLE manage (
ID varchar(12) NOT NULL, /* 注册者管理信息的id */
role varchar(20) NOT NULL, /* 0代表应聘者,1代表公司 */
password varchar(20) NOT NULL, /* 注册者的登录密码 */
PRIMARY KEY (ID)
)

3.建立应聘者信息表:
CREATE TABLE applicant (
ID varchar(11) NOT NULL, /* 应聘者的id */
name varchar(20) NOT NULL, /* 应聘者名字 */
sex varchar(10) NOT NULL, /* 应聘者性别 */
email varchar(20) NOT NULL, /* 应聘者邮箱 */
telephone varchar(20) NOT NULL, /* 应聘者手机号码 */
mid_id varchar(12) NOT NULL, /* 应聘者对应的注册管理信息的id */
PRIMARY KEY (ID),
FOREIGN KEY (mid_id) REFERENCES manage (ID)
)

4.建立公司信息表:
CREATE TABLE company (
ID varchar(11) NOT NULL, /* 公司的id */
name varchar(20) NOT NULL, /* 公司名字 */
address varchar(30) NOT NULL, /* 公司地址 */
establish varchar(20) NOT NULL, /* 公司建立时间 */
email varchar(20) NOT NULL, /* 公司联系邮箱 */
property varchar(20) NOT NULL, /* 公司性质 */
telephone varchar(20) NOT NULL, /* 公司联系电话 */
scale varchar(20) NOT NULL, /* 公司规模 */
intro varchar(300) NOT NULL, /* 公司简介 */
mid_id varchar(12) NOT NULL, /* 公司对应的注册管理信息的id */
PRIMARY KEY (ID),
FOREIGN KEY (mid_id) REFERENCES manage (ID)
)

5.建立岗位类别表:
CREATE TABLE jobcategory (
cate_name varchar(20) NOT NULL, /* 岗位类别 */
pre_cate varchar(20) NOT NULL, /* 岗位对应的父类别,若无则为空 */
PRIMARY KEY (cate_name)
)

6.建立简历表:
CREATE TABLE cv (
ID varchar(11) NOT NULL, /* 简历的id */
name varchar(20) NOT NULL, /* 应聘者名字 */
sex varchar(10) NOT NULL, /* 应聘者性别 */
birth varchar(20) NOT NULL, /* 应聘者出生日期 */
create_time varchar(20) NOT NULL, /* 简历创建日期 */
location varchar(50) NOT NULL, /* 应聘者先居住地 */
education varchar(20) NOT NULL, /* 应聘者学历 */
work_exp varchar(100) NOT NULL, /* 应聘者工作经历 */
school varchar(20) NOT NULL, /* 应聘者毕业院校 */
major varchar(20) NOT NULL, /* 应聘者专业 */
email varchar(20) NOT NULL, /* 应聘者邮箱 */
telephone varchar(20) NOT NULL, /* 应聘者手机号码 */
intro varchar(300) NOT NULL, /* 应聘者简介 */
expected_job varchar(20) NOT NULL, /* 应聘者期望应聘岗位 */
category_id varchar(20) NOT NULL, /* 应聘者应聘岗位类别 */
PRIMARY KEY (ID),
FOREIGN KEY (category_id) REFERENCES jobcategory (cate_name)
)

7.建立发布岗位表:
CREATE TABLE jobdeliver (
ID varchar(11) NOT NULL, /* 发布的岗位id */
job_name varchar(20) NOT NULL, /* 岗位名字 */
position varchar(40) NOT NULL, /* 岗位工作地点 */
numb int NOT NULL, /* 岗位招聘人数 */
sex varchar(10) NOT NULL, /* 性别要求 */
work_year varchar(5) NOT NULL, /* 工作经历要求 */
age varchar(10) NOT NULL, /* 年龄要求 */
education varchar(20) NOT NULL, /* 学历要求 */
salary varchar(20) NOT NULL, /* 工资 */
intro varchar(300) NOT NULL, /* 岗位介绍 */
contact varchar(20) NOT NULL, /* 联系方式 */
created_time varchar(20) NOT NULL, /* 创建时间 */
category_id varchar(20) NOT NULL, /* 岗位所属类别 */
PRIMARY KEY (ID),
FOREIGN KEY (category_id) REFERENCES jobcategory (cate_name)
)

8.建立公司-岗位表:
CREATE TABLE companyjob (
ID varchar(11) NOT NULL, /* 公司-岗位的id */
company_id varchar(11) NOT NULL, /* 公司的id */
job_deliver_id varchar(11) NOT NULL,/* 已发布岗位的id */
PRIMARY KEY (ID),
FOREIGN KEY (job_deliver_id) REFERENCES jobdeliver (ID),
FOREIGN KEY (company_id) REFERENCES company (ID)
)

9.建立应聘者-简历表:
CREATE TABLE usercv (
ID varchar(11) NOT NULL, /* 用户-简历的id */
cv_id varchar(11) NOT NULL, /* 简历的id */
applicant_id varchar(11) NOT NULL, /* 应聘者的id */
PRIMARY KEY (ID),
FOREIGN KEY (applicant_id) REFERENCES applicant (ID),
FOREIGN KEY (cv_id) REFERENCES cv (ID)
)

10.建立岗位-建立投递表:
CREATE TABLE jobwanted (
ID varchar(11) NOT NULL, /* 简历-岗位 投递的id */
result varchar(10) NOT NULL, /* 投递结果 */
cv_id varchar(11) NOT NULL, /* 简历的id */
job_deliver_id varchar(11) NOT NULL,/* 发布岗位的id */
PRIMARY KEY (ID),
FOREIGN KEY (job_deliver_id) REFERENCES jobdeliver (ID),
FOREIGN KEY (cv_id) REFERENCES cv (ID)
)

五、招聘网数据库查询系统说明

5.1系统介绍

1)操作系统 系统搭建在Ubuntu系统上。Ubuntu是一免费开源操作系统,是基于Linux的发行版本,具有开放性和高性价比等显著特点。同时Ubuntu具有庞大的社区力量支持,可以方便地从社区获得帮助。系统选用的是Ubuntu14.04版本,该版本代号为“Trusty Tahr”(值得信赖的塔尔羊),是一个长期支持版本,有很好的性能和交互性。

2)开发语言 系统主要使用python,python是一种完全面向对象、解释型计算机程序设计语言,语法简洁清晰,拥有丰富和强大的库,易读且易维护,提供API,能方便进行维护和管理。

3)数据库管理系统
系统选用SQLite数据库,SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程式库中。与许多其它数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。

4)开发框架 系统选用Django框架,Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,有许多功能强大的第三方插件,具有很强的可扩展性。

5.2界面展示

5.2.1登陆界面

登陆界面
输入账号和密码,查询数据库并与密码匹配成功后可登陆
登录失败1 登录失败2
若查询失败则无法登陆

5.2.2普通用户登录

普通用户登录
获得用户详细信息,和对应的简历列表
简历的详细信息
每份简历的详细信息

5.2.3企业用户登录

企业用户详细信息
获得企业用户详细信息,和对应的发布的招聘信息列表
详细招聘信息
每条招聘的详细招聘信息
对应该招聘投放的简历
以及对应该招聘投放的简历

5.2.4数据库后台管理

此处输入图片的描述
用来管理数据库的后台,实现增删查改。

5.3 系统使用说明

系统运行需求:
系统环境:ubuntu14.04/OS X
程序语言:python 2.7.+
框架: django 1.8.0+

系统下载:
使用github下载:
git clone https://github.com/Hareric/dbBigHW.git
直接下载:
https://github.com/Hareric/dbBigHW/archive/master.zip

系统运行:
进入该系统根目录,终端下执行python manage.py runserver开启本地服务器
浏览器访问: 127.0.0.1:8000/home 进入查询页面
浏览器访问: 127.0.0.1:8000/admin 进入数据库后台管理页面
管理员帐号: admin 密码: admin

Have a nice day!