1、课程设计说明书(数据库技术及实训)题目: 人力资源管理数据库应用系统 院 系: 计算机学院 专业班级: 物联网12-2 学 号: 2012303293 学生姓名: 马志远 指导教师: 梁 兴 柱 2014年 5 月 27 日 安徽理工大学课程设计(论文)任务书 计算机 院 物联网工程 系学 号2012303293学生姓名马志远专业(班级)物联网12-2设计题目人力资源管理数据库应用系统设计技术参数数据库: SQL Server 2005或2000 开发语言:C#、JAVA、 C+ 等(1)主要的数据表: 员工信息数据表,部门数据表,招聘数据表,权限数据表等。 (2) 主要功能模块基础数据管理:
2、员工信息管理、部门管理、职位管理等。日常工作管理:加班管理、请假管理、考勤管理、培训管理等.人事管理:招聘管理,退休管理等。设计要求1.对各个系统进行系统的功能需求分析2。数据库设计分析阶段,进行校内关系的数据库需求分析,进行概念数据库的设计,画出数据库的ER图(局部和整体ER图)3。设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表,即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定.4.通过企业管理器或是查询分析器实现各个二维关系(建议最好使用SQL代码实现),要求建立相关的索引。5。根据系统功能需求设计相应的查询视图。6.要求根据系统功能需求建立存储过
3、程7。根据功能需求建立相应的触发器以保证数据的一致性。8.通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复工作量 注:可填写说明书(论文)的字数要求或要完成的图纸数量.工作计划1员工人事信息维护(包括信息录入,修改和删除等);2员工工资信息维护(包括信息录入,修改,删除和实发工资计算等);员工综合信息(包括人事信息和工资信息)查询参考资料指导教师签字教研室主任签字 年 月 日 指导教师评语:成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表摘要随着企业内人力资源管理的网络化合系统化的日益完人力资源管理系统在企业管理中越来越受企业管理者的青睐。人力资源管理系
4、统的功能全面、操作简单,可以存放企业员工的基本信息、分配和管理企业员工工作任务、实现对企业员工的考勤管理,能够方便快捷地掌握员工的信息、工作进度和工作状态等,降低企业人力资源管理的人力和成本,并提高人力资源管理的效率.使企业真正实现人力资源的网络化、系统化和科学化的管理。关键字:数据库,SQL,人力资源管理目录1系统分析11。1 需求分析11.2 目的和意义22系统设计32。1 数据字典32。2 系统模块总体设计52。3 数据库概念结构设计63系统实现93。1 数据库逻辑结构设计93。2 数据库逻辑结构实现94总结134。1 设计体会134.2 系统改进13参考文献14III安徽理工大学课程设
5、计(论文)1系统分析1.1 需求分析通过在网络上找找资料,了解到现阶段部分公司的人力资源管理仍停留在完全的人工管理阶段,没有标准的人事管理存档信息。这种人工管理方式费时、费事、费力,导致工作效率底下。开发出合适的人力资源管理系统,可方便人力资源的管理,提高该公司管理的效率。I。需求分析阶段的目标(1)了解目前企业人力资源管理现状以及SQL2000的功能和特点.(2)通过实地调查和问答记录的方式了解企业人力资源管理的业务流程,并记录和处理相关数据。(3)与指导教师交流个人想法,改正不合理的地方,为下面的概念设计和逻辑设计奠定基础。II.需求分析阶段的任务处理对象如下:1。员工基本信息(funda
6、mental_employee):员工号,姓名,性别,部门号,职位号,状态号.2。员工详细信息(detailed_employee): 员工号,姓名,性别,年龄,文化程度,政治面貌,籍贯,住址,联系方式,电子简历号.3。员工工资信息(salary):包括员工号,日期,基本工资,缺勤扣款,奖金,税款.4。公司部门信息(department):包括部门号,部门名称和部门人数,部门主管员工号。5.职位信息(position):职位号,职位名称.6。状态信息(state):状态号,状态名称。7。权限信息(permission):权限号,权限名称,说明。8.培训信息(training):培训号,员工号,
7、培训名称,培训时间,培训内容,培训机构,培训地点.9。考勤信息(attendance):考勤号,员工号,签到时间,是否缺勤,缺勤原因,是否早退,离开时间。10。招聘信息(recruitment):招聘号,员工号,姓名,专业,工作经验,文化程度。11.调动信息(removement):调动号,员工号,调动日期,调动前职位,调动后职位,调动原因。12。离职信息(leave_job):离职号,员工号,离职日期,离职原因.13。复职信息(re_job):复职号,员工号,复职日期,离职时长。14.退休信息(retirement):退休号,员工号,退休日期,入职时间,退休前职位.15。加班信息(extra
8、_work):加班号,员工号,加班日期,加班时长.16.出差信息(evection):出差号,员工号,出差日期,出差时长,出差原因,出差报销费用。17.请假信息(leave):请假号,员工号,请假日期,请假时长,请假原因。18。奖惩信息(rewards_punishment):奖惩编号,奖或惩,员工号,级别,授予单位,奖惩日期,原因。1.2 目的和意义通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力.随着经济的发展,企业越来越多,而企业的人力资源管
9、理是企业十分重要的一个环节,但现实中人力工作人主要由人工完成,不够智能化,而且查找、登记麻烦,不方便工作,为此设计了人力资源管理系统,帮助完成企业人力资源管理工作,是工作更智能,更容易,减轻人力负担,解放人的劳动力,使HR能抽出更多的时间与精力去做其他工作,也方便企业员工能很好的管理和查找自己的信息、工资等情况。 人力资源管理系统的设计是以员工为主体,在该系统中,员工有权查阅自己的工资、培训信息等;部分员工(高层管理人员)有权查看员工的工资,培训信息,个人信息,考勤信息等。人力资源管理管理系统使信息化进入我们的工作中,解决了工作中信息管理遇到的问题,减轻了管理人员在管理中繁重而琐碎的工作强度,
10、进而降低我们的管理成本,提高我们管理工作的实际效能。2系统设计2。1 数据字典数据字典的作用是在软件分析和设计的过程中给人提供相关数据的描述信息。它主要对数据流图中的数据流、处理逻辑、外部实体、数据存储和数据项等方面进行具体的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。数据项目编号数据项名数据项含义存储结构默认值1eno员工号Float无2ename姓名Char(20)无3sex性别Char(2)男4age年龄Float无5edu文化程度Char(5)大学6policy政治面貌Char(10)普通公民7naplace籍贯Char(10)汉8addre
11、ss地址Char(10)无9tel联系方式float无10dno部门号float无11dname部门名称char(50)无12dnum部门人数float无13deno部门主管号float无14pno职位编号float无15pname职位名称Char(10)无16date_s工资日期date无17basic_salary基本工资Float500018cut_money缺勤扣款Float无19bonus奖金Float无20tax税款Float4521peno权限号Float122pename权限名称Char(20)自己23tno培训号Float无24tname培训名称Char(50)无25tdat
12、e培训时间date无26tcon培训内容Char(30)无27torg培训机构Char(30)无28tplace培训地点Char(30)无29ano考勤号Float无30date_sign考勤日期date无31isat是否缺勤Char(2)否32cause_at缺勤原因Char(30)无33islea是否早退Char(2)否34date_leave早退时间Char(30)无35reno招聘号Float无36major专业Char(10)无37exp工作经验Char(30)无38rmon调动号Float无39date_rm调动日期date无40po_e调动前职位Char(30)无41po_l调动
13、后职位Char(30)无42cause_rm调动原因Char(50)无43l_jno离职号Float无44date_lj离职日期date无45cause_lj离职原因Char(50)无46r_jno复职号Float无47date_rj复职日期date无48time_lj离职时间date无49rtno退休号Float无50date_rt退休日期date无51date_at入职日期date无52po_rt退休职位Char(30)无53ewno加班号Float无54date_ew加班日期date无55time_ew加班时长Float无56evno出差号Float无57date_ev出差日期date无
14、58time_ev出差时长Float无59cause_ev出差原因Char(30)无60cost_ev出差报销Float无61leno请假号Float无62date_le请假日期date无63time_le请假时长Float无64cause_le请假原因Char(30)无65rpno奖惩编号Float无66R_p奖励或惩罚Char(2)无67scale等级Float无68unit授予单位Char(30)无69date_rp奖惩日期date无70cause_rp奖惩原因Char(30)无71sno状态号Float172sname状态名称Char(30)在职2。2 系统模块总体设计本系统一共分为五
15、个模块,每个模块之间虽然表面互相独立,但是在对数据库的访问上是紧密相连的.每个功能模块的设计都是根据前几个阶段的分析来设计的,符合系统的设计要求。依据上述功能的分析,系统中的模块分别为:系统管理、人事管理、信息管理、工资管理和日常工作。各功能模块的具体功能如下:1。系统管理有两个模块:登陆、退出、修改个人信息和用户权限。其中的管理员权限验证就包含着管理员的权限及权限设置。信息管理包含着管理员的基本信息;管理员权限验证是指对管理员权限和其他权限的验证并授权。2。人事管理有四个模块:即招聘管理,离职管理,复职管理,退休管理。3。信息管理有两个模块:员工信息管理,部门信息管理和职位信息管理。员工信管
16、理是对员工个人的基本信息进行的管理;部门信息管理是对部门基本信息的管理职位信息管理是对职位信息的管理。4。工资管理只有一个模块,即统计员工工资.5。日常工作有五个模块,主要针对人力资源管理师的若干职能,协助HR更好的完成工作,分别是请假管理、级别管理、考勤管理、奖惩管理和培训管理。2。3 数据库概念结构设计数据库总ER图如图所示:各分ER图如图所示员工基本信息 员工详细信息 部门信息 职位信息 招聘信息 工资信息 培训信息 调动信息 奖惩信息 请假信息加班信息 退休信息 考勤信息 权限信息状态信息3系统实现3.1 数据库逻辑结构设计根据实际情况,本系统的数据库命名为:HRManager是用来存
17、储日常工作信息、员工信息、部门信息、职位信息、权限信息、工资信息的各种数据.HRManager数据库中1.员工:fundamental_employee(eno,ename,dno,pno,sno) 可设置以下若干关系,以下是关系的基本信息:2。员工详细:detailed_employe(eno,ename,sex,age,edu,policy,naplace,address,tel,reno)。3.员工工资:salary(eno,date_s,basic_salary,cut_money,bonus,tax)4。公司部门:department(dno,dname,dnum,deno)5。职位
18、:position(pno,pname)6.状态:status(sno,sname)7.权限:permission(peno,pename)8。培训:training(tno,eno,tname,tdate,tcon,torg,tplace)9。考勤:attendance(ano,eno,date_sign,isat,cause_at,islea,date_leave)10。招聘:recruitment(reno,eno,ename,major,exp,edu)11.调动:removement(rmno,eno,date_rm,po_e,po_l,cause_rm)12。离职:leave_jo
19、b(ljno,eno,date_lj,cause_lj)13。复职:re_job(rjno,eno,date_rj,time_lj)14. 退休: retirement(rtno,eno,date_rt,date_at,po_rt)15。 加班:extra_work(ewno,eno,date_ew,time_ew)16. 出差: evection(evno,eno,date_ev,time_ev,cause_ev,cost_ev)17。 请假: leave(leno,eno,date_le,time_le,cause_le)18。 奖惩: rewards_punishment(rpno,r_
20、p,eno,scale,unit,date_rp,cause_rp)3。2 数据库逻辑结构实现创建数据库的相关SQL语句如下:3。1 .建立数据库和数据表CreatedatabaseHRmanagement;(1)员工基本信息表的建立createtablefundamental_employee(enofloatPRIMARYKEY,enamechar(20)NOTNULL,dno floatNOTNULL,pnofloatNOTNULL,snofloatforign key(dno) reference(department),forign key(pno) reference(positi
21、on),forign key(sno) reference(states))(2)工资基本信息表的建立createtablesalary(enofloatPRIMARYKEY,basic_salaryfloat,date_sdate,cut_moneyfloatNOTNULL,bonusfloatNOTNULL,taz float forign key(eno) reference(fundamental_employee)(3)部门信息表的建立createtabledepartment(dnofloatPRIMARYKEY,dnamechar(20)NOTNULL,dnum float,de
22、no float)(4)职务信息表的建立createtableposition(pnofloatPRIMARYKEY,pnamechar(20)NOTNULL,)(5) 考勤表的建立createtableattendance(anofloatPRIMARYKEY,eno,floatNOTNULLdate_sign date,isat char(2),causeat char(30),islea char(2),date_leave dateforign key(eno) reference(fundamental_employee))(6)招聘表的建立createtablerecruitmen
23、t(renofloatPRIMARYkEY,enofloatNOTNULL,ename char(30),major char(30),exp char(30),edu char(30),forign key(eno) reference(fundamental_employee)(7)培训表的建立createtable training(tno float PRIMARYKEY,eno float,tname char(30),tdat date,tcon char(30),torg char(30),tplace char(30),forign key(eno) reference(fun
24、damental_employee)) (8)调动表的建立createtable removement(rmno float PRIMARYKEY,eno float,date_rm date,po_e char(30),po_l char(30),cuse_rm char(30),forign key(eno) reference(fundamental_employee) (9)离职表的建立createtable leave_job(l_jno float PRIMARYKEY,eno float,date_lg date,cuse_lg char(30),forign key(eno)
25、reference(fundamental_employee)(10)复职表的建立createtable re_job(r_jno float PRIMARYKEY,eno float,date_rj date,time_lj float,forign key(eno) reference(fundamental_employee))(11)退休表的建立createtable retirement(rtno float PRIMARYKEY,eno float,date_rt date,date_at date,po_rt char(30),forign key(eno) reference(
26、fundamental_employee))(12)加班表的建立createtable extra_work(ewno float PRIMARYKEY,eno float,date_ew date,time_ew float,forign key(eno) reference(fundamental_employee))(13)出差表的建立createtable evection(evno float PRIMARYKEY,eno float,date_ev date,time_ev float,cuse_ev char(30),cost_ev float, forign key(eno)
27、reference(fundamental_employee))(14)请假表的建立createtable leave(leno float PRIMARYKEY,eno float,date_le date,time_le float,cuse_le char(30), forign key(eno) reference(fundamental_employee))(15)奖惩表的建立createtable rewards_punishment(rpno float PRIMARYKEY,r_p char(2),eno float,scale float,unit char(30),date
28、_rp date,cause_rp char(30),forign key(eno) reference(fundamental_employee)(16)状态表的建立createtablestatus(sno float PRIMARYKEY,sanme char(30)createtablepermission(peno float,pename char(30)4总结4。1 设计体会通过这次课程设计,我明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。我还明白了学习和实用是有去别的,不能照搬书本,也不能脱离书本,多通过网络查找资料,多浏览别人
29、的案例,学习别人的经验,我们才能更好更快的进步。在这次课程设计中,同学之间的互帮互助起到了重要作用,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,大家相互协作,共同努力,完成了我们的课程设计。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。通过课程设计,不仅大大提高了动手的能力,而且使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的并不完善,考虑也有所欠缺,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。本次设计是数据库概论课程所学知识的检验和总结,更
30、是一次学习的过程,在此过程中我收获了很多很多,不只是知识,还有做人的道理。做人做事都要踏踏实实,要一步一个脚印,不要贪快求捷径;没有数量的积累,是不会有质的飞跃。通过努力,有了收获,更拥有了为社会服务的力量.4。2 系统改进1。主键是多张二维表之间联系的关键.找对主键,能使表及存储过程,触发器的建立变得更加简单和规范。2。在建立表之前,应保证表至少符合第三范式,这样才不会出现数据的冗余.3.在删除表的同时,也相应删除了先前绑定的触发器.4.做好前期准备工作,能让建表等工作更容易。5。在需要做赋值等运算时,声明几个变量会使代码简单许多.参考文献1赛奎春.Visual Basic 工程应用与项目实
31、践。北京:机械工业出版社,20052刘瑞新。Visual Basic 管理信息系统开发毕业设计指导及实例.北京:机械工业出版社,20053赵斯思。Visual Basic 数据库编程技术与实例.北京:人民邮电出版社,20044占维 刘伟编。Visual Basic 6.0数据库实用编程100例。北京:中国铁道出版社,20045潘地林。Visual Basic程序设计.合肥:中国科学技术出版社,20056张海藩。软件工程.北京:人民邮电出版社,20027张湘辉。软件开发的过程与管理.北京:清华大学出版社,20058Joseph Schmuller。李虎 赵龙刚译。UML基础、案例与应用(第三版)。北京:人民邮电出版社,20049Ryan K.Stephens Ronald R.Plew。张启镛译。轻松掌握SQL(第四版) 。北京:电子工业出版社,2003-12-