数据库课程设计报告人事管理系统

上传人:1888****888 文档编号:39239790 上传时间:2021-11-10 格式:DOC 页数:22 大小:318.30KB
收藏 版权申诉 举报 下载
数据库课程设计报告人事管理系统_第1页
第1页 / 共22页
数据库课程设计报告人事管理系统_第2页
第2页 / 共22页
数据库课程设计报告人事管理系统_第3页
第3页 / 共22页
资源描述:

《数据库课程设计报告人事管理系统》由会员分享,可在线阅读,更多相关《数据库课程设计报告人事管理系统(22页珍藏版)》请在装配图网上搜索。

1、 课程设计报告 题 目: 人事管理系统 学生姓名: 学 号: 专业班级: 同组姓名: 指导教师: 设计时间: 指导老师意见: 评定成绩: 签名: 目录一、设计内容:设计如下主要功能模块2二、系统数据流图和数据字典32.1 用户需求调查32.2、系统数据流程图42.3系统数据字典7三、数据库结构设计123.1 概念结构设计123.2 逻辑结构设计123.3数据库结构的详细设计143.4、框架实现153.5、界面实现16四、关键代码191.数据库连接192.添加员工薪资193.查询员工薪资194.更新员工薪资信息205.删除员工薪资信息206培训信息修改及储存21五总结22六、参考文献2319一、

2、设计内容:设计如下主要功能模块1) 人事档案管理模块。2) 人员薪酬管理模块。3) 人员培训管理模块。4) 各类报表生成模块。5) 人员内部调动、离岗管理模块。6) 人员奖惩情况管理模块。7) 具有数据备份和数据恢复功能。人事管理系统人事档案管理人员薪酬管理人员培训管理人员调动,离岗管理人员奖惩情况管理数据备份图一 功能模块图二、系统数据流图和数据字典2.1 用户需求调查 通过对现行人事管理系统的调查,明确了人事管理系统由人事档案管理、人员薪酬管理模块、人员培训管理模块、人员内部调动、离岗管理模块、各类报表生成模块、人员奖惩情况管理模块、具有数据备份和数据恢复功能、系统功能的主要描述如下。(1

3、)员工档案管理1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。3)当员工的信息发生变动时,修改员工档案记录中相应的属性。(2)奖惩管理对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。(5)工资管理1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。(6)部门管理1)对公司所有的部门进行编号,建立部门记录。2.2、系统数据流图管理员登录基本数据录入,修改,删除,查询权 验限 证用户企业员工档案信息案信息员工薪酬信息管理员工调动,离岗

4、管理案信息企业员工培训管理案信息Y员工奖惩情况管理案信息统 计报 表结束操作退出系统N图二、管理员数据流图公司职员登录员工表查询员工信息员工表查询公司培训和奖惩以及人员调动情况相应各表图三、普通员工数据流程图人员表:工号 姓名 性别 年龄 身份证号 联系电话 所属部门 密码薪酬管理表:工号 姓名 底薪 提成 罚款人员培训表:工号 培训方式 开始、结束时间 培训内容部门表:部门编号 部门名称 工号 姓名 入职日期 离岗日期 调动情况人员奖惩表:工号 姓名 奖惩方式 奖惩日期 奖惩原因 人员调动旧部门删除信息,新部门储存新员工信息员工信息表图四、人员调动图 员工信息查询按姓名按工号员工信息显示图五

5、、员工信息查询图薪酬管理按工号查询显示员工信息和薪资情况图六、薪酬管理图2.3 系统数据字典人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。(1)主要的数据流定义1)数据流名称:员工情况定义: 员工情况=员工编号+姓名+性别+年龄+部门号+电话+密码+身份证号。数据流量:根据公司的员工具体录用情况来确定。说明:要对每一位被聘用的新员工进行唯一编号。2)数据流名称:奖惩情况定义: 奖惩情况=工号+姓名+ 奖惩方式+奖惩日期+ 奖惩原因+部门编号。数据流量:根据公司的具体情况来确定。说明:要对每一次的奖

6、惩记录进行唯一编号。3)数据流名称:工资查询定义: 工资查询=工资编号+员工号+基本工资+罚款+提成+发薪日期数据流量:根据公司的具体情况来确定。说明:根据员工号和发薪编号可以唯一确定一个工资记录。数据流量:根据公司的具体情况来确定。4)数据流名称:管理员情况定义: 用户身份=员工编号。数据流量:根据公司的具体情况来确定。说明:要对每一位管理员建立唯一的账号。5)数据流名称:部门情况定义: 部门情况=部门编号+部门名称+工号+姓名+入职日期+离岗日期 +调动情况数据流量:根据公司的具体情况来确定。说明:部门号和员工号是主码。(2)主要的数据存储定义1)数据存储编号:员工记录数据结构:员工记录=

7、姓名+性别+出生日期+民族+学历+职称 +员工编号。数据量和存取频度:根据公司的具体规模情况来确定。说明:员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号。2)数据存储编号:奖惩记录数据结构:奖惩记录=工号+姓名+ 奖惩方式+奖惩日期+ 奖惩原因+部门编号。数据量和存取频度:根据公司的具体规模情况来确定。说明:主码设为薪资编号和员工号;员工号是外码,参照表是员工记录。4)数据存储编号:工资记录 数据结构:工资记录=工资编号+员工号+基本工资+罚款+提成+发薪日期。数据量和存取频度:根据公司的具体规模情况来确定。说明:主码设为工资编号和员工号;员工号是外码,参照表是员工记录。5)数据

8、存储编号:管理人员记录 数据结构:管理人员记录=用户密码+职工号+密码+管理员账号。数据量和存取频度:根据公司的具体规模情况来确定。说明:主码设为管理员账号即员工编号。6)数据存储编号:部门记录数据结构:部门记录=部门编号+部门名称+工号+姓名+入职日期+离岗日期 +调动情况。数据量和存取频度:根据公司的具体规模情况来确定。说明:主码设为部门号。(3)主要的处理过程1)处理过程名:档案管理输入:用户身份,员工记录,员工情况输出:员工记录处理说明:根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改。2)处理过程名:奖惩管理输入:用户身份,奖惩批复,奖惩记

9、录输出:奖惩记录,奖惩情况处理说明:根据奖惩批复的要求对员工进行相应的惩处,并对惩处进行记录。3)处理过程名:工资管理输入:用户身份,工资记录输出:工资记录,工资查询处理说明:根据员工目前的工资情况,进行调薪的操作。4)处理过程名:安全管理处理说明:建立管理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性。5)处理过程编号:处理过程名:部门管理输入:部门情况,部门记录输出:部门记录处理说明:根据上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门。三、数据库结构设计3.1 概念结构设计 根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),图5是用E-

10、R图表示的人事管理系统的概念模型。最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。3.2 逻辑结构设计 将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:1)员工档案(员工编号+姓名+性别+年龄+部门号+电话+密码+身份证号),其中员工编号为主码,部门号为外码;2)奖惩记录(工号+姓名+ 奖惩方式+奖惩日期+ 奖惩原因+部门编号),奖惩编号为主码,员工号为外码;3)工资记录(工资编号+员工号+基本工资+罚款+提成+发薪日期),工资编号为主码,员工号为外码。4)部门记录(部门编号+部门名称+工号+姓名+入职日期+离岗日期 +调动情况),员工工号为主码。5)、人员培

11、训表:(工号+培训方式+开始时间+结束时间+培训内容)员工工号为主码。将人事管理系统定名为“人事管理系统”。 各实体的分E-R图,如图A,B,C所示:员工编号员工姓名年龄性别电话部门号图A、员工实体图部门部门编号领导人号名称图B、部门实体图管理人员管理员账号级别员工账号密码图C、管理人员实体图公司职员部门人员培训人员奖惩薪酬管理拥有 1 1拥有 N M组成 N 1参与 N M全局E-R图3.3 数据库结构的详细设计经过检查,此数据库的详细逻辑设计满足第3范式的要求。人事管理系统中各表的属性设计情况如下表1:表名属性名数据类型长度允许空主码约束条件部门部门号int4No主码部门名Char10No

12、员工号Char4No外码值为职工编号职工编号Char4No外码密码Char6No 输入时不显示级别Char4No“管理员”或“系统管理员”员工员工编号int5No主码姓名varchar10No年龄Int8No性别varchar2“男”或“女”密码varchar身份证号VarChar32No部门号Int4外码工资编号int6No主码薪酬员工编号int4No外码基本工资floatNo罚款float提成float部门号Int奖惩编号Int6No 主码 奖惩记录员工编号int4No外码奖惩类型varchar4No奖惩金额float奖惩日期Datetime值为员工受奖惩日期部门号Char4外码奖惩原因V

13、arChar50 培训记录培训编号Int4主码不为空员工工号Int4主码不为空部门编号Int4培训类型Nvarchar50培训内容Nvarchar50开始时间Date结束时间Date表13.4 、框架实现 1)由于没有采用Java的其他数据库框架,只是使用JDBC进行编程,故设计数据模型来对其进行封装处理.整个应用程序的结构为MVC(Model-View-Control)(jsp+servlet+javaBean) 框架,数据模型负责所有与JDBC之间的通讯,SQL数据的查询,插入,更新,删除;逻辑控制负责解释数据模型获 取的数据,并针对当前的界面来随时更新相关的表格。2)使用MVC模式分离J

14、DBC数据封装,逻辑控制,界面控制,使得代码更加优雅简洁,易于添加新功能.框架的主要功能设计如下: 登录功能: 由于是做管理系统,故只有当被授权用户输入密码与数据库中用户密码一致时,才可以登录系统。 此外就是对各种表进行相应的增删改查功能,并将数据存入数据库。3.5、界面实现1.登陆界面 四、关键代码1.数据库连接 Connection ct;PreparedStatement pstmt;public DB() try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);ct = DriverManager.getConne

15、ction(jdbc:sqlserver:/localhost:1433;databaseName=testrenshi,sa, ); catch (Exception e) e.printStackTrace();2.添加员工薪资try pstmt = ct.prepareStatement(insert into Salary values(?,?,?,?,?,?);pstmt.setInt(1, salary.getDepartmentId();pstmt.setInt(2, salary.getWorkId();pstmt.setInt(3, salary.getSalaryId();

16、pstmt.setFloat(4, salary.getBasicSalary();pstmt.setFloat(5, salary.getTiCheng();pstmt.setFloat(6, salary.getPunish();pstmt.executeUpdate();return true; catch (Exception e) e.printStackTrace();return false;3.查询员工薪资员工工号:员工姓名:员工密码:员工性别:员工年龄:身份证号:联系电话:所属部门:4.更新员工薪资信息try pstmt = ct.prepareStatement(updat

17、e Salary set workId =+salary.getWorkId()+,departmentId = +salary.getDepartmentId()+,salaryId=+salary.getSalaryId()+,basicSalary=+salary.getBasicSalary()+,tiCheng=+salary.getTiCheng()+,punish=+salary.getPunish()+where workId = ?);pstmt.setInt(1, salary.getWorkId();pstmt.executeUpdate();return true; c

18、atch (SQLException e) e.printStackTrace();return false; 5.删除员工薪资信息try pstmt = ct.prepareStatement(delete from Salary where workId = ? or username = ?);pstmt.setInt(1, u.getWorkId();pstmt.setString(2, u.getUsername();pstmt.executeUpdate();return true; catch (SQLException e) e.printStackTrace();return

19、 false;6培训信息修改及储存public boolean addTrain(Train train) try pstmt = ct.prepareStatement(insert into Train values(?,?,?,?,?,?,?);pstmt.setInt(1, train.getTrainId();pstmt.setString(2, train.getTrainType();pstmt.setString(3, train.getTrainContent();pstmt.setDate(4, train.getStartTime();pstmt.setInt(5, tr

20、ain.getDepartmentId();pstmt.setInt(6, train.getWorkId();pstmt.setDate(7, train.getEndTime();pstmt.executeUpdate();return true; catch (Exception e) e.printStackTrace();return false;public boolean updateUser(Train train) try pstmt = ct.prepareStatement(update Train set workId =+train.getWorkId()+,depa

21、rtmentId = +train.getDepartmentId()+,trainId=+train.getTrainId()+,trainType=+train.getTrainType()+,trainContent=+train.getTrainContent()+,startTime=+train.getStartTime()+,endTime=+train.getEndTime()+where workId = ? or trainId = ?);pstmt.setInt(1, train.getWorkId();pstmt.setInt(2, train.getTrainId()

22、;pstmt.executeUpdate();return true; catch (SQLException e) e.printStackTrace();return false;五总结本次课程设计让我学到很多.以前感觉自己数据库学的还蛮好的,但到真正去实现一个数据库系统时,才发现原来还有好多东西可以学。对于此次课程设计来说,因为很多东西从放假回来就忘了,所以不得不重拾以往课本,不断查资料。虽然我们这次的课程设计不是做得很好,但我冲中学到了很多,原来的sql语句又再次出现在我的脑海中,使我倍感增益。除此之外,我对Java的mvc模式设计网站也有了进一步理解。此次课程设计不但大大增强了我的动手能力,同时也让我发现了我在编程方面的不足之处,因此也为我以后的规划有了进一步的提高。六、参考文献1】数据库原理及应用实验指导北京邮电大学出版社(钱学忠)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!