《数据库课程论文.docx》由会员分享,可在线阅读,更多相关《数据库课程论文.docx(32页珍藏版)》请在三一办公上搜索。
1、信息工程学院数据库课程设计论文题目:人事管理系统数据库设计以上三行均居中,其中:第一行为黑体小初号第二行为黑体二号第二行“题目:”为黑体二号,自己题目为楷体二号下划线页面为A4纸,四周边距均为2.5cm,正文小四号宋体,文档网格为40*40,文中表格标 题为黑体5号居中,表格内容为5号宋体,图说为5号宋体。页码居中、页眉为“ *级*专 业*班数据库课程设计课程论文”,页眉从正文开始才有。以下冒号前为黑体三号,冒号后为楷体三号学 号: 2013012995专业班级:计算机132姓 名:刘家顺指导老师:完成日期: 2015.1.23此处为分节符不是分页符,本页无页码人事管理系统数据库设计刘家顺(信
2、息工程学院计算机科学与技术13级2班)摘要在本次课程设计中,我所开发的是人事管理系统。随着计算机网络的发展, 人事档案方面管理越来越趋向于电子化和智能化,因此对人事管理系统的开发意 义十分重大。它主要用于企业的档案管理工作,一般应用于企业局域网,分布在 公司各个部门由专人负责管理。人事管理系统主要包含职工的个人情况,工作情 况,简历等各方面信息。主要是为人事档案进行服务,对人事的变动处理,有人 事的资料、以及人事资料的查询和统计等功能。该系统本着操作简洁、档案输入 读取方便、安全性高的思想原则,总体实现了员工档案,工作管理,工资管理三 个功能模块。该系统的一大特色就是将对员工的管理和对系统各个
3、子模块的管 理分开,使得管理员的操作权限更加明确、合理化。关键字:人事管理;员工;工作;工资1. 需求分析12. 数据库结构设计12.1 概念设计52.1.1分E-R图建立 52.1.2全局/整体E-R图 72.2逻辑设计82.2.1建立关系模式82.2.2关系模式规范化处理错误!未定义书签。2.2.3用户子模式建立92.2.4关系模式逻辑结构定义103. 数据库物理设计 104. 数据库实施与测试 104.1数据库实施 错误!未定义书签。4.1.1数据库及数据库对象建立错误!未定义书签。4.1.2数据入库 错误!未定义书签。4.2数据库测试 错误!未定义书签。5. 总结 126. 附录 13
4、人事管理系统是针对现在公司的大量业务处理工作而开发的管理软件。根据 用户的要求实现人员基本情况管理、工资调整管理等几个方面的功能。用户通过 输入职工履历等基本信息,由系统自行生成相应的统计数据及各类统计报表以供 用户查询、打印,另外操作人员还可以对这些基本信息进行定期的更新和删除,人 事管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。能够让企业带来 先进的管理思想及方法、促进建立现代人事管理模式、促进人事管理正规化、帮 助企业提高管理时效、帮助企业降低管理成本。所有的管理的目标都是为了效益。1. 需求分析通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、工作管 理,工资管理组成
5、。数据流程图如下(1)人事管理系统顶层F49部门信息、上员工档案F2合同信息Fg位信息E员工F4信息F9合同到期提醒P0、,F11调动信息、.F48离职人员信息 U二 F12H资表一口F13请假信息, e 上司.F14E假信息F19培训信息 人事管理系统一层:人事管理系统F15考勤统计一TF5请假信息F7培训信息F8业绩信息F16员工福利匚1 7沙夕 征佶 白 F18业绩考核汇总(3)人事管理系统二层:员工管理模块:P1员工管理工资管理模块:P2工资管理工作管理模块P3工作管理数据字典见附1。主要包含了数据项,数据结构,数据流,逻辑处理,存储记 录等部分。2. 数据库结构设计主要包括概念设计和
6、逻辑设计两个部分。2.1概念设计根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型) 下图用E-R图表示的人事管理系统的概念模型。2.1.1分E-R图建立员工管理模块:工资管理模块:工作管理模块2.1.2全局E-R图。批复部当出月天5净 出数天.奖励当月迟 到天H当月加 班天数批假记录出差时)长不出差.出差地.点,出差记录编号【调动!空6奖惩记录一_ 批复咳)转正记, 间 录编号疽学历校.岗位编号岗岂-,岗.基本工:资冰 .部门经理人数员工(心八奖虹半 .出生日年评价等,价培训时一长.请假记录编号调动签约日.期员工评.价综合评,价.签约时:长.培训记录编号请假-下属员.工人数-旅
7、游福.补贴总培训计通信补 火-交贴补 _长期应 裁容慰手康笋贴 、离职编-记录福利离职日,2.2逻辑设计将人事管理系统的E-R图转换为关系数据库的数据模型。2.2.1建立关系模式将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:员工(职工编号,担任职务,姓名,性别,民族,籍贯,毕业学校,学历,出生年月日,年龄,住址,联系电话)合同(合同编号,职工编号,签约日期,到期时间,签约时长)岗位(岗位编号,岗位名称,所属部门,岗位津贴,基本工资)部门(部门号,部门名称,部门主管,部门经理人数,部门副经理人数,下 属员工人数)离职记录(离职编号,离职职工,离职日期,离职原因)转正记录(转正
8、记录编号,转正员工,签约日期,转正时间)调动记录(调动记录编号,调动员工,原属部门,原职位,新部门,新职位, 调动时间)请假记录(请假记录编号,请假人,请假日期,请假类别,请假时长)批假记录(批假记录编号,请假记录编号,批假人,批价日期)出差记录(出差记录编号,出差人员,出差日期,出差时长,出差地点)力口班记录(加班记录编号,加班人员,加班日期,加班时长)考勤记录(考勤记录编号,员工,当月应出勤天数,当月迟到天数,当月旷 工天数,当月加班天数,考勤净奖励)工资(员工,基本工资,岗位津贴,附加工资,实发工资)福利(岗位号,四金,工作餐,节假日,医疗补助计划,慰问金,健康体检, 长期服务津贴,交通
9、补贴,通信补贴,培训计划,旅游福利,补贴总计)奖惩记录(奖惩记录编号,员工,奖惩类别,批复部门,批复时间,净奖励 金额)培训记录(培训记录编号,员工,培训类型,培训日期,培训时长,培训评 价)考核成绩(员工,上级评价,员工评价,综合评价,评价等级,奖励)2.2.3用户子模式建立根据需求分析,研究建立满足不同需求的用户子模式,子模式表示形式为:合同到期提醒(合同编号,职工编号,姓名,性别,签约日期,到期时间, 签约时长)请假信息(请假记录编号,职工编号,姓名,性别,所属部门,职位,请假 日期,请假时长,请假类别)工资表(职工编号,姓名,性别,所属部门,职位,基本工资,岗位津贴, 附加工资,实发工
10、资)考勤统计(职工编号,姓名,性别,所属部门,职位,当月应出勤天数,当 月旷工天数,当月迟到天数,当月出差天数,当月加班天数,考勤净奖励)培训信息(培训记录编号,职工编号,姓名,性别,培训日期,培训时长,培训类别,培训评价)业绩考核汇总(职工编号,姓名,性别,所属部门,职位,上级评价,员工 评价,综合评价,评价等级)奖惩记录(职工编号,姓名,性别,所属部门,职位,奖惩类别,批复部门,批复时间,净奖励金额)2.2.4关系模式逻辑结构定义关系模式名称含义备注Employee员工附录2附表1Covenant合同附录2附表2PostLU 1 冈位附录2附表3Department部门附录2附表4Rurn
11、overRecord离职记录附录2附表5ProbationRecord转正记录附录2附表6MobilizeRecord调动记录附录2附表7LeaveRecord请假记录附录2附表8PermitRecord批假记录附录2附表9TravelRecord出差记录附录2附表10OvertimeRecord加班记录附录2附表11AttendanceRecord考勤记录附录2附表12Wage工资附录2附表13Welfare福利附录2附表14RPRecord奖惩记录附录2附表15TrainRecord培训记录附录2附表16Evaluation考核成绩附录2附表173. 数据库物理设计对表Employee在属
12、性列Ename上建立聚集索引,对表Department在属性列DName上建立聚集索引,对表Leave在属性列Ename上建立聚集索引。4. 数据库实施与测试主要包括数据库实施和测试两个部分。4.1数据库及数据库对象建立主要包括:基本表、视图、索引、存储过程以及触发器;(见附3)4.2数据入库 4.3数据库测试(1 )计算考勤净奖励执彳亍 count_checkreward(2)计算考核结果ENUMBERSUFERIORASSESSMENTSTAFFASSESSMENTCOMPREHENSIVEASSESSMENTCLASSREWARD卜11000007 -708021000008 -7180
13、31000009 -728041000010 -738051000011 -748161000012 -758271000013 -7683B1000014 -77B491000015 -7874101000016 -7975111000017 -8076121000018 -8177执彳亍 count_text 和 count_tect_fu;ENUMBER1SUFERIORASSESSMENTSTAFFASSESSMENTCOMPREHENSIVEASSESSMENTCLASSREWARD1100000770BO74加薪21000008718074. 6加薪31000009728075.
14、2加薪41000010738075. 8加薪51000011748176. S加薪61000012758277. 8加薪71000013768378. S加薪810000147784:79. 8加薪91000015787476. 4加薪101000016797577. 4加薪111000017807678. 4加薪121000018817779. 4加薪(3)计算工资ENUMBERBASICWAGEADDITIONALWAGEALLOWANCEWAGE11000014 -21000015 -31000016 -41000017 -51000013 -61000019 -71000020 -01
15、000021 -执彳亍 count_wageENUMBEREASICWAGEADDITIONALWAGEALLOWANCEWAGE11000014 -500015150001015121000015 50009150001009131000016 -500012550001012541000017 -500010350001010351000018 -500013350001013361000019 500011550001011571000020 -500013350001013381000021 -500091500010091(4)计算补贴总计执彳亍 count_welfareENUMB
16、ERTOTALSUESIDY卜1001-1312002-1433003154:4004-1655005-1766006-10770071900000-2099009-22010010-2311101124=212012-253rh、叫-+V -kl: n-k5. 总结由于在数据库的设计初期,没有对人事管理系统进行准确地需求分析,导致后期设计过程中的数据库的概念设计阶段无法进行。因此,通过此次数据库课程 设计使学生认识到了需求分析对于软件系统设计的重要性。也认识到规范化的设 计流程对于后期的设计来说,是十分重要的。前面的设计是后面的铺垫,只有对 前面的设计过程进行准确地分析,才能节省整个系统的开
17、发时间。最后,通过此 次数据库课程设计使学生初步理解了简单数据库的一般开发流程,以及数据流图 和E-R图等专业图形地绘制。6. 附录附录1数据项Employee员工职工编号+姓名+性别+民族+出生年月日+年龄+学历+毕业学校+籍贯+住址+联系电话Covenant 合同 合同编号+职工编号+姓名+性别+签约日期+到期时间+签约时 长Post 岗位部门号+职位AttendanceINF考勤信息 职工编号+姓名+性别+所属部门+职位+当月应出勤天数 +当月旷工天数+当月迟到天数LeaveRecord 请假记录 请假记录编号+职工编号+姓名+性别+所属部门+职位+ 请假日期+请假时长+请假类别RPRe
18、cord 奖惩记录奖惩记录编号+职工编号+姓名+性别+所属部门+职位+奖惩 类别+批复部门+批复时间TrainRecord 培训记录 培训记录编号+职工编号+姓名+性别+培训日期+培训时 长+培训类别+培训评价PerformanceEVA 业绩评价 职工编号+姓名+性别+所属部门+职位+上级评价+ 员工评价+综合评价+评价等级MobilizeRecord调动记录调动记录编号+职工编号+姓名+性别+原属部门+原职位+新部门+新职位+调动时间Wage 工资职工编号+姓名+性别+所属部门+职位+基本工资+岗位津贴+附加工资+实发工资Welfare 福利部门号+职位+四金+工作餐+节假日+医疗补助计划
19、+慰问金+健康体检+长期服务津贴+交通补贴+通信补贴+培训计划+旅游福利+补贴总计DepartmentINF部门信息 部门号+部门名称+部门经理Compile部门编制部门号+部门名称+部门经理人数+部门副经理人数+下属员工人数TravelRecord出差记录 出差记录编号+职工编号+姓名+性别+所属部门+职位+ 出差日期+出差地点+出差时长OvertimeRecord加班记录加班记录编号+职工编号+姓名+性别+所属部门+职位+加班日期+加班时长EvaluationBasis 考核依据 部门号+职位+评价等级+奖励EmployeeRurnover离职员工 离职编号+姓名+性别+民族+出生年月日+
20、学历+毕 业学校+籍贯+离职原因+离职日期Probation转正提醒 职工编号+姓名+性别+签约日期+转正时间PermitRecord批假记录 批假记录编号+职工编号+姓名+性别+所属部门+职位+ 请假日期+请假时长+请假类别+批假人数据结构附录2表1员工关系属性名含义数据类型长度是否为主 属性是否为 外键约束条件Enumber职工编号Varchar220是Not nullPosition担任职务Varchar220Not nullEName姓名Varchar230Not nullGender性别Varchar22男,女Nation民族Varchar210Not nullHometown籍贯V
21、archar210Not nullSchool毕业学校Varchar220Not nullEDegree学历Varchar210Not nullBrith出生年月日DateNot nullAge年龄Number1670Address住址Varchar250Not nullTelephone联系电话Varchar210是Not null表2合同关系模式属性名含义数据类型长度是否为主是否为约束条件属性外键Cnumber合同编号Varchar220是Not nullEnumber职工编号Varchar220是Not nullSigningdate签约日期DateMaturitydate到期时间Dat
22、eSigningDuration 签约时长Varchar210表3岗位关系模式属性名含义数据类型长度是否为主属性是否为外键约束条件Pnumber岗位编号Varchar220是Not nullPostname岗位名称Varchar220Not nullDepartement所属部门Varchar210是Not nullAllowance岗位津贴numberBasicwage基本工资number20005000表4部门关系模式属性名含义数据类型长度是否为主属性是否为外键约束条件Dnumber部门号Varchar210是Not nullDName部门名称Varchar220Manager部门主管Va
23、rchar220是ManagerNumber部门经理人 数numberVioceManagerNumber部门副经理 人数numberStaffNumber下属员工人 数number表5离职记录关系模式属性名含义数据类型长度是否为主 属性是否为外键约束条件Tnumber离职编号Varchar220是Not nullEnumber离职职工Varchar220是Not nullTurnoverdate离职日期dateNot null离职原因辞职,解雇,TurnoverreasonVarchar210退休,非自然离职表6转正记录关系模式属性名含义数据类型长度是否为主 属性是否为 外键约束条件PRnu
24、mber转正记录编 号Varchar220是Not nullEnumber转正员工Varchar220是Not nullSigningdate签约日期dateNot nullProbationdate转正时间Varchar210表7调动记录关系模式属性名含义数据类型长度是否为主是否为皿小心约束条件属性外键Mnumber调动记录编Varchar2号20是Not nullEnumber调动员工Varchar220是Not nullOldDepartement原属部门Varchar210是Not nullOldPost原职位Varchar220是Not nullNewDepartement 新部门V
25、archar210是Not nullNewPost新职位Varchar220是Not nullMobilizeDate调动时间Date表8请假记录关系模式属性名含义数据类型长度是否为主 属性是否为 外键约束条件Vnumber请假记录编 号Varchar220是Not nullEnumber请假人Varchar220是Not nullLeaveDate请假日期dateLeaveReason请假类别Varchar24事假,病假LeaveDuration请假时长number表9批假记录关系模式属性名含义数据类型长度是否为主 属性是否为 外键约束条件PEnumber批假记录编 号Varchar220是
26、Not nullVnumber请假记录编 号Varchar220是Enumber批假人Varchar220PermitateDate批价日期date表10出差记录关系模式属性名含义数据类型长度是否为主 属性是否为 外键约束条件TRnumber出差记录编 号Varchar220是Not nullEnumber出差人员Varchar220是Not nullTraveDate出差日期dateTraveDuration出差时长numberTravePlace出差地点varchar210表11加班记录关系模式属性名含义数据类型长度是否为主 属性是否为 外键约束条件Onumber加班记录编 号Varcha
27、r220是Not nullEnumber加班人员Varchar220是Not nullOverDate加班日期dateOverDuration加班时长number表12考勤记录关系模式属性名含义数据类型长度是否为主 属性是否为外键约束条件Anumber考勤记录编 号Varchar220是Not nullEnumber员工Varchar220是Not nullAttendanceDays当月应出勤 天数number2031LateDays当月迟到天 数number031AbsenteeismDays当月旷工天 数number031OvertimeDays当月加班天 数number031Trave
28、Days当月出差天 数Number031CheckReward考勤净奖励number表13工资关系模式属性名含义数据类型长度是否为主 属性是否为外键约束条件Enumber员工Varchar220是Not nullBasicWage基本工资number20005000AdditionalWage附加工资numberAllowance岗位津贴numberWage实发工资number表14福利关系模式属性名含义数据类型长度是否为主属性是否为外键约束条件Pnumber岗位号Varchar220是Not nullFourGold四金numberWorkingMeal工作餐numberVacation节假
29、日numberMedicaid医疗补助计 划numberCondolences慰问金numberPhysicalExamination健康体检numberServicePayments长期服务津 贴numberTrafficSubsidy交通补贴numberCommunicationAllowance通信补贴numberTraining培训计划numberTourismBenefits旅游福利numberTotalSubsidy补贴总计number表15奖惩记录关系模式属性名含义数据类型长度是否为主属性是否为外键约束条件RPRnumber奖惩记录编 号Varchar220是Not nullEn
30、umber员工,Varchar220是Not nullRewardCategories奖惩类别Varchar212大功,小功,嘉奖,通报表 扬,一次性奖 金,开除,记大 过,记小过,警 告,通报批评, 一次性罚款ReplyDepartement批复部门Varchar210ReplyDate批复时间dateRewardMoney净奖励金额number表16培训记录关系模式属性名含义数据类型是否为主是否为约束条件长度属性外键培训记录编是TRAnumber号Varchar220Not nullEnumber员工Varchar220是Not nullTrainCategories培训类型Varchar
31、210TrainDate培训日期dateTrainDuration培训时长Varchar210TrainAssessment培训评价Varchar26表17考核成绩关系模式属性名含义数据类型长度是否为主是否为属性外键约束条件Enumber员工Varchar220是Not nullSuperiorAssessment:上级评价number0100StaffAssessment员工评价number0100Comprehensive综合评价number0100AssessmentClass评价等级Varchar220Reward奖励Varchar220附录3基本表create table Emplo
32、yee(Enumber Varchar2(20) primary key,Position Varchar2(20) not null,EName Varchar2(30) not null,Gender Varchar2(2) check(Gender in (男,女),Nation Varchar2(10) not null,Hometown Varchar2(10) not null,School Varchar2(20) not null,EDegree Varchar2(10) not null,Brith Date not null,Address Varchar2(50) not
33、 null,Telephone Varchar2(11) not null);create table Covenant(Cnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade,Signingdate Date,Maturitydate Date,SigningDuration Varchar2(10);create table Departement(Dnumber Varchar2(10) primary key,DName Varchar2(2
34、0),Manager Varchar2(10) references Employee(Enumber),ManagerNumber number,VioceManagerNumber number,StaffNumber number);create table Position(Pnumber Varchar2(20) primary key,Postname Varchar2(20),Departement Varchar2(10) references Departement(Dnumber),Allowance number,Basicwage number check(Basicw
35、age=2000 and Basicwage=5000);create table Turnover(Tnumber Varchar2(20) primary key,Enumber Varchar2(20),Turnoverdate date,Turnoverreason Varchar2(10) check(Turnoverreason in ( 辞职,解雇,退休,非自然离职,) );create table Probation(PRnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumbe
36、r) on delete cascade,Signingdate date,Probationdate Varchar2(10);create table Mobilize(Mnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade,OldDepartement Varchar2(10) references Departement(Dnumber),OldPost Varchar2(20) references Position(Pnumber),NewDepartement Varchar2(10) references Departement(Dnumber),NewPost Varchar2(20) references Position(Pnumber),MobilizeDate date);create table Leave(Vnumber Varchar2(20) p