人才招聘系统数据库的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理及应用
课程设计报告
题目
班级
学号
姓名
指导老师
二零年月
一、引言
1.设计目的
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际数据库开发有机的结合起来,锻炼学生的分析、解决实际问题的能力。课程设计的目的:(1)加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;
(2)在实践化和项目化教学基础上进一步巩固已学基本知识及应用知识并加以综合提高;(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;
(4)为计算机科学与技术专业毕业设计和毕业后工作打下必要基础。
2.设计要求
运用数据库基本理论与应用知识,在RDBMS(SQL Server2005或SQL Server2008)的环境上建立一个数据库应用系统。要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。
1.用功能模型完成对题目的需求分析;
2.用E-R图设计选定题目的信息模型;
3.设计相应的关系模型,确定数据库结构;
4.设计应用系统的系统结构图,确定系统功能;
5.通过设计关系的主码约束、外码约束和使用CHECK实现完整性控制;
6.定义必要的视图,能够保证数据库的安全性;
7.自我评价
3.软件环境:Windows 7
二、需求分析
1.系统功能结构
图1 人才招聘系统功能图
2. 需求分析描述
通过分析,人才招聘系统应该具有求职者模块、简历模块、公司模块、岗位模块、应聘模块、招聘模块等功能。求职者首先要注册自己的个人信息,并填写简历信息,可根据需求更改自己的信息,一个人可有多份简历。公司注册自己的公司信息,可根据需求更改公司的信息。系统根据公司需要招聘的岗位,设立了岗位模块。一个公司可以招聘多个岗位,一个求职者可以应聘多个岗位。
我们设计人才招聘系统的目的是为了帮助毕业的大学生们尽快的找到工作,网上招聘求职方式已经成为了招聘求职的重要手段,应聘者和招聘公司可以通过网络突破时间和空间的限制来实现工作求职和公司的人才招聘,网上招聘具有招聘范围广,信息量大,费用低等优势,同时它对应聘者具有检索方便,地域限制
小,供选择的工作多的特点,对招聘单位来说,招聘网站也为他们提供了查询,检索应聘者信息库的条件,使从事招聘工作人员的初选工作变得轻松易行。
三、概念设计
1. 实体、属性和联系
根据分析,人才招聘系统应该具有求职者实体,该实体具有求职者ID、姓名、性别、简历数等属性;简历实体,具有简历ID、求职者ID、姓名、性别、年龄、学历、联系方式、期望职业等属性;岗位实体,具有岗位ID、岗位名称、岗位类型等属性;公司实体,具有公司ID、公司名称、公司所在地等属性。求职者实体与简历实体具有多对一的联系。求职者实体与岗位实体具有多对多的联系,中间联系为应聘。岗位实体与公司实体是多对多的联系,中间联系为招聘。2.概念模型设计
E-R图
图2 人才招聘系统E-R图
四、逻辑设计
1. E-R图转换为关系模式
求职者(求职者ID、姓名、性别、简历数)
简历(简历ID、求职者ID、姓名、性别、年龄、学历、联系方式、期望职业)岗位(岗位ID、岗位名称、岗位类型)
公司(公司ID、公司名称、公司所在地)
应聘(求职者ID、岗位ID、求职者姓名、求职岗位、求职公司、期望工资)招聘(岗位ID、公司ID、岗位名称、公司名称、招聘人数、学历要求、支付薪资)
2. SQL Server关系图
图3 人才招聘系统关系图
五、数据库实现
1.表的设计
(1)应聘表(Recruitment表)
(2)公司表(Company表)
2.视图的设计
(1)请查询公司所在地为上海的公司名称、招聘岗位名称和招聘人数。
(2)“沈阳机床”的招聘岗位信息
六、数据库操作
1.关系代数
查询“沈阳机床”提供的岗位信息?
πJobID,Jobname,Jobtype(σCompanyname=’沈阳机床’(Job⋈Recruitment))
2.查询
(1)查询“沈阳机床”提供的岗位信息?
SELECT JobID, Jobname, Jobtype
FROM Job, Recruitment
WHERE panyname = '沈阳机床' and Job.JobID = Recruitment.JobID;
(2)查询“沈阳机床”计划招聘员工的总数?SELECT SUM(Recruitingnumbers) AS 招聘总数FROM Recruitment
WHERE Companyname = '沈阳机床';
3.插入
插入一条公司信息('316','京东商城','北京')。INSERT
INTO Company
V ALUES ('316','京东商城','北京');
4.修改
将公司号为301的公司所在地改为沈阳。UPDATE Company
SET Companylocation ='沈阳'
WHERE CompanyID='301'
5.删除
删除岗位号为408的所有岗位信息。DELETE
FROM Recruitment
WHERE JobID='408'
6.答辩提问
(1)做视图:岗位类型各有多少个。