第一篇:java-人事管理系统-前期报告
河北工业大学毕业设计(论文)前期报告
河北工业大学专接本毕业设计(论文)前期报告
毕业设计(论文)题目:基于Java的企业人事管理系统
专业:计算机科学与技术
学生信息:
指导教师信息:
报告提交日期:3月25日
工作过程
在工作过程中首先按任务书的要求,对相关文献进行阅读,了解设计过程中需要的技术,并根据设计的要求,把设计的完成过程规划为三个阶段:设计计划阶段,设计实现阶段,设计调试阶段。并按照任务书的要求完成了开发环境的搭建,对于一些自己无法解决的问题(或自己无法找到的资料)就向指导老师求助,与老师共同讨论解决办法,以完成预期任务。到目前为止,我都能按任务书的要求做好毕业论文前期的各项准备工作,相信我能紧跟任务书的步伐,在规定时间内完成论文。
文献综述
1.1选题意义和目的现代的社会中,办公自动化进入社会的每一个角落已经势不可挡,而人事管理系统是办公自动化的一个小小体现,它为人事管理大量又繁杂的员工数据工作提供了方便,提高了人事管理工作的效率,为办公自动化的普及奠定了基础。人事管理系统是任何一个现代化企事业单位不可或缺的部份,它的内容对于企事业的管理者来说至关重要。人事管理系统应该能够为管理者提供充足的信息和快捷的查询手段。但现在很多单位并没有对人事工作进行电子化管理,还存在那种管理人员多,管理效率低,决策依据少的尴尬局面。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着传统管理所无法比拟的优点。因此,开发这样一套管理软件,对单位人事管理工作进行有效电子化管理,化简繁琐的手工操作,提高工作效率都是很有意义的事情。
1.2本课题研究现状
国外专家学者对人事管理系统的研究起步比较早,发达国家的企业非常注重自身人事管理系统的开发。特别是一些跨国公司,更不惜花费大量的人力和物力来开发相应的人事管理 1
系统,他们通过建立一个多信息流数据流和业务流的开发性系统实现真正意义上的人事管理目标,挑选和留住最佳人才,同时不断提高这些人才的工作效益。例如:苹果公司的企业员工人事管理系统便是一个很好的典范。
我国的信息管理系统是九十年代初开始快速发展的。经过十余年的发展,我国的数据库管理技术也广泛的应用与各个领域,并且形成了产业化。但是,我们的工厂、企业对信息管理系统的应用比起世界先进水平还相当落后。主要表现在:人事管理系统范围使用相对狭窄、人事管理系统功能相对欠缺、稳定性较差、功能相对单一等。
2.主要研究内容
人事管理系统是一个面向企业人事部门工作人员,为其提供服务的综合信息管理系统。人事人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。员工的个人信息等等都记录在人事系统里进行管理。企业下设人事部门,全权处理企业内部一切人事事务。
人事管理系统主要研究实现以下内容:
(1)员工信息管理:主要实现管理企业员工的基本信息管理,包括员工基本信息的录入、修改、删除以及员工家庭信息、员工工作简历、员工奖惩记录、员工培训记录、员工工作业绩、员工离职信息管理等功能。
(2)考勤管理:主要通过员工考勤信息处理模块实现员工考勤信息的录入、修改、删除操作。
(3)工资管理:通过工资核算模块实现工资的录入核算,并在工资发放模块中实现工资的按部门发放。
(3)查询管理:主要实现对企业员工的人事档案、考勤记录和工资信息等信息的模糊查询。
(4)系统管理:对系统信息进行设置。主要实现操作权限的设置、新用户的添加、用户密码的修改、公司部门设置和系统帮助信息。
(5)退出系统:完成系统的退出。
3.技术要求
3.1本系统采用B/S模式。
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)
实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
3.2开发语言java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
主要特性
1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
3.3Struts架构
随着Web开发技术的日益成熟,在Web开发开发领域中出现了许多设计好的软件开发框架,Struts就是一种基于MVC经典设计模式的框架,也是当前Web开发中比较成熟的一种框架。
经典MVC模式
MVC(Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分。
•模型(Model):业务逻辑层。实现具体的业务逻辑,状态管理的功能。
•视图(View):表示层。即与用户实现交互的界面,通常实现数据输入和输出功能。•控制器(Controller):控制层。起到控制整个业务流程(Flow Control)的作用,实现View和Model部分的协同工作。
MVC设计模式可以针对需要为同样的数据提供多个不同视图的应用程序,例如:公司产品数据库中同样的产品信息数据,但需要根据用户的不同需求在页面中显示其所需的不同产品信息。
MVC设计模式中,事件一般是指客户端Web浏览器提交的各种不同请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,视图也可以接受模型发出的数据更新的通知,依据数据更新的结果调整视图效果,呈现在用户面前。而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。
第二篇:人事管理系统Java课程设计报告
湖南科技大学计算机科学与工程学院
数据库课程设计报告
题目:人事管理管理系统
学 号:1005030221 姓 名:艾向兵 指导教师:张黎
完成时间:2012年1月4日 组员:苏勇,成佳裕,艾向兵
企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配 1.1系统功能需求分析
人事管理系统主要有以下几项功能要求:.新员工资料的输入。
.自动分配员工编号,并且设置初始的用户密码:.人事变动的记载,包括岗位和部门的调整。.员工信息的查询和修改,包括员工个人信息和密码 1.2 系统功能模块设计
根据系统功能要求,可以将系统分解成几个模块来分别设计应用程序界面,如图,人事资源管理 包括:新员工档案输入,人事变更,员工档案查询
1.3 与其它系统的关系
本关系是公司管理信息系统的基础部分,为其他子系统,如考勤管理系统,工资管理系统和员工培训系统,提供员工的基本信息。同时为其他系统提供了员工登录的密码认证和权限分配。1.4数据库设计 数据库需求分析:
员工信息:员工号,密码,权限,姓名,性别,生日,专业,通讯地址,电话,Email,当前状态,其他。
人事变动:记录号,员工,变动,详细描述
部门设置:部门编号,名称
员工变动代号表
员工信息表
员工职位代码表
管理员登陆界面
信息查询,修改,删除主界面
查询单个员工的界面
总 结
这次的课程设计,是在学习了Java以后通过阅读课本及在图书馆借阅相关书籍同严景、孟珍三人共同完成的。在开发这个系统的过程中,碰到很多或大或小的问题,我们一起思考,一起努力,最后大部分都解决了,得到了现在的这个简单的人事管理系统。
在编制过程中,我们首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。一开始我们是想做个登录界面,实现用户的登录权限管理,但试了几次都没有达到预期的效果,最后不得不放弃。
通过这次课程设计,我知道了什么事情都不那么简单,只有努力去做了,你才会有收获,不管收获大小,付出的过程总是有的。有些事情只有亲身感受,你才知道它的价值有多大。同时在遇到困难的时候要沉着冷静,首先要冷静分析问题,对于很难解决的问题要学会请教他人,还可以与别人合作。
在这次数据库系统课程设计中,我主要进行的是界面的设计,以及进行进行整合操作,界面是我学习Java以来第一次做,以前不怎么用的JTabel等,现在都已经熟练的应用了,特别是这次的弹出窗口,我在做这个的时候可谓是一窍不通,因为把按钮JButton定义为了局部变量而在时间响应中而得不到另一个窗口的弹出。
还有就是在整个过程中的ID传递让我不知怎么办,一个简单的参数传递才得以搞定,基础知识还是不够牢靠。在得到修改表的数据库内容后未把值传给表格。
虽然这次课程设计付出了大量的时间,但是我知道我得到的收获远远不是这些时间可以衡量的,它将给我今后的学习和工作带来更多的收益。通过对此课题的开发,使我对用Java开发系统有了一个比较清楚的认识,体会到理论和实践的重要性。由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如没有设置登录界面,没有考虑到异常等多方面问题,这些都有待进一步完善和提高。对于文中出现的不足和系统中出现的问题敬请老师指导。
弹出登录程序的界面程序
public void actionPerformed(ActionEvent e){
if(e.getSource()==okButton){
String userID=text.getText();String passWD=String.valueOf(passwd.getPassword());if(userID.equals(“1”)&&passWD.equals(“1”)){
JOptionPane.showMessageDialog(null, “登陆成功!”, “消息”, JOptionPane.INFORMATION_MESSAGE);
new UserWindow2().userWindow2();//弹出第二个窗体
} else{
JOptionPane.showMessageDialog(null, “对不起您的用户名或密码错误!”, “错误”,JOptionPane.ERROR_MESSAGE);
text.setText(“");passwd.setText(”“);} } if(e.getSource()==deleButton){
text.setText(”“);passwd.setText(”“);}
} 进行信息查询,修改,删除的程序响应代码:
public void actionPerformed(ActionEvent e){
if(e.getSource()==button1){
new UserWindow3();
} if(e.getSource()==button2){
UserWindow7 u= new UserWindow7();u.userWindow7();} if(e.getSource()==button3){ UserWindow5 u=new UserWindow5();
u.userWindow5();}
public void actionPerformed(ActionEvent e){
if(e.getSource()==button){ int id= Integer.parseInt(text0.getText());//得到用户编号
String name=text1.getText();//得到用户姓名
String sex=text2.getText();//得到性别
String birthDay=text3.getText();//得到生日 String department=text4.getText();//得到所在部门 String job =text5.getText();//得到职位
String education=text6.getText();//得到教育程度 String spcialty=text7.getText();//专业技能 String address=text8.getText();//得到地址 String tel=text9.getText();//得到电话
String email=text10.getText();//得到电子邮箱 String state=text11.getText();//得到员工状态 String remark=text12.getText();//得到备注 Insert in=new Insert();//
boolean b;
b=in.insert(id,name,sex,birthDay,department,job,education,spcialty,address,tel,email,state,remark);if(b){ JOptionPane.showMessageDialog(null, ”数据保存成功!“, ”消息“, JOptionPane.INFORMATION_MESSAGE);}
} }
public void actionPerformed(ActionEvent e){
// TODO Auto-generated method stub
id = Integer.parseInt(text.getText());
if(e.getSource()==button){ UserWindow8 us = new UserWindow8();us.userWindow8(id);
}
Container container=this.getContentPane();container.setLayout(new BorderLayout());
JPanel pan =new JPanel();JLabel lab = new JLabel(”请输入工号:“);JTextField text=new JTextField(10);JButton button =new JButton(”查询“);JButton button1=new JButton(”删除“);pan.add(lab);pan.add(text);pan.add(button);pan.add(button1);container.add(pan);
String []titles={”员工编号“,”姓名“,”性别“,”生日“,”部门“,”职务“,”教育程度“,”专业技能“,”家庭住址“,”联系电话“,”电子邮箱"};
String [][]userInfo={};
JTable table =new JTable(userInfo,titles);table.isCellEditable(2,2);JScrollPane scrollpane
=new
JScrollPane(taboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo......................le);
container.add(scrollpane,BorderLayout.SOUTH);
第三篇:基于Java的图书馆管理系统的设计-前期报告
前期报告
毕业设计前期报告
毕业设计(论文)题目:基于Java的图书馆管理系统的设计
专业:计算机
学生信息:
指导教师信息:
报告提交日期:2012-4-20
在毕业设计任务下达后,通过大量的资料的收集、阅读和整理,对设计题目有了较为明确的认识和理解。按照任务书的进度要求,对参考文献及相关文献进行了有重点的查阅,了解了图书管理系统的当前现状及未来发展,对所运用的技术进行了更为深入的研究,对系统的基本架构和功能模块作了初步的规划。在此基础上总结撰写了前期报告。
文献综述课题分析
1.1课题背景
随着社会信息量的与日剧增,作为信息存储的媒体之一图书,数量、规模比以往任何时候都大的多,在书店,甚至一些企业内部,在正常运行过程中总是面对大量的读者信息、书籍信息、以及两者相互作用而产生的借书信息、还书信息等等,这都需要是用方便有效的方式来进行管理。随着计算机的普及,单一的手工检索已经不能满足人们的需求,为了便于图书资料的管理需要有效的图书管软件。
1.2课题研究的意义 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的数据信息管理。现今,有很多的图书馆都是初步的开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式都是基于文本、表格等纸介质的手工处理,对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行数据处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,所以图书管理系统的开发显得尤为重要。
1.3图书管理系统的应用及发展
随着计算机硬件和网络的发展,图书馆开始普遍采用基于网络的图书管理系统,图书管理系统也日益成熟,功能日趋完善,时至今日,图书管理系统早已不仅仅只是单一的处理简单数据,而是全面的融入到图书馆的整个日常工作的各个环节中去,带动着整个图书馆业务的高效展开,全面提高了图 1
书馆的服务水平。
1.4 课题研究的现状及现行研究存在的问题
各国对图书管理系统的研究随着计算机信息化的普及也越来越火。但是,目前在图书管理系统的运行过程中还存在着如下问题:
1)功能不完善,仅仅提供了图书馆工作人员的基本工作要求,而对图书借阅者在图书流通过程中各环节服务力度不够。
2)覆盖面小,信息的共享只局限在局域网内。
3)客户端需要安装完整的用户程序,由于所用的程序和所用的操作平台有关,所以管理人员要要花费大量的时间和精力去开发和维护。课题内容
本系统应用软件工程的设计思想,按照系统的开发流程完成一个完整的图书管理系统。主要包括界面的设计、数据库的设计、模块的设计。
2.1界面的设计
在程序的开发过程中,界面开发方面采用Swing机制,Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础是跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组建来创建优雅的用户界面,是整个系统的设计思路更加清晰。
2.2数据库的设计
数据库方面,使用Access,通过Java的JDBC实现连接,JDBC(java data base connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组Java编写的类和接口组成,JDBC为工具数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口。
2.3模块的设计
运用组件来完成该系统的各种功能,和各个模块的设计,管理员管理模块:包括管理员的添加和维护。管理员的添加用于管理员的用户名、密码、姓名和权限的设置,以便于对读者的信息的管理。管理员的维护是对系统管理员的检索,通过此子模块的功能实现可以对管理员户进行删除更新等操作;读者管理模块:是对读者的基本信息进行管理,可以对读者的基本信息进行添加,修改,删除操作;图书管理模块:是对图书进行添加、修改、删除,对图书的书名、作者、价格、出版社等基本信息进行管理;图书借还模块:可以根据图书证号和图书条形码进行图书的借阅和还书;查询模块:该模块包括对图书馆藏进行查询,对读者借阅情况进行查询。图书馆藏进行查询是用户通过图书的书名,作者,isbn,出
版社等信息对图书进行相关查询;对读者借阅情况进行查询是用户通过图书证号的查询,对读者借阅情况进行相关查询。技术分析
3.1 数据存储
图书管理系统采用数据库存储的方式,Access数据库用于存储大量数据。主要存储的是人员信息部分、图书信息部分和综合操作部分。
3.2 编程语言和框架的选择
该系统采用的是C/S模式,用Socket套接字来实现客户端和服务器端的连接。Socket和ServerSocket类库位于Java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。在设计中还应用了Swing, 用它来实现用户图形界面GUI(Graphics User Interface)的创建,Swing它支持图形用户界面编程的功能包括: 用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪切板来进行剪切和粘贴。这些都使设计变的更加灵活。
第四篇:人事管理系统
企业人事财务管理系统的开发与设计
内容摘要
随着Internet的不断发展,传统的管理方式,消耗大量的人力物力,传统的方式已经赶不上时代的脚步,所以开发一个高效的企业人事财务管理系统,是非常必要的。
本系统作为一个MySQL数据库开发运用程序,主要是分为前台部分和后台部分,前台部分是面向用户,主要包括对自身工资的查询,对考勤的查询等功能的实现。后台部分是面向管理员,主要包括对职员管理,考勤管理,工资发放管理,公司结算预算等功能。
该系统的开发环境主要是MysqL+php的结合,同时加入了Html的语言来完成的界面设计。
关键词:人事财务管理,MysqL,php
目 录
一、引 言...............................................................1
(一)设计目的.......................................................1
(二)设计要求.......................................................1
(三)设计环境.......................................................1
二、需求分析............................................................2
(一)系统总体需求...................................................2 1.系统简介......................................................2 2.系统分析......................................................2
(三)数据字典.......................................................3
三、概念结构设计........................................................5
(一)E-R图.........................................................5
(二)系统的功能结构设计.............................................7 1.总架构设计.....................................................7 2.功能模块的划分.................................................7
四、逻辑结构设计........................................................9
(一)关系模式.......................................................9
(二)表的设计与创建.................................................9
五、数据库系统开发与实现...............................................11
(一)管理员主要功能模块设计........................................11 1.部门及职位管理模块...........................................11 2.工资修改模块.................................................12 3.员工管理模块.................................................12 4.查询工资模块.................................................13 5.修改考勤表模块...............................................13
(二)后台主要功能模块设计.........................................14 结 论..................................................................16 参考文献...............................................................17
一、引 言
(一)设计目的
随着公司规模的扩大,经济体制的快速发展,公司组织管理会变得越来越庞大和困难,而信息的处理与使用也变得越来越重要。人事管理信息系统是企业管理中不可缺少的一部分,无论对企业决策者和管理者来说都至关重要,所以建立一套人事管理系统,能够加快物资的周转速度,提高生产效率,加强管理的信息化手段,更好的为企业的发展和后勤服务,提高本单位的经济效益。该系统的实现,可以使企业更方便的对工作人员信息进行查询和录入,配合市场管理的步伐。从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会化大生产的周期。因此,开发这样一套管理软件成为很有必要的事情。
(二)设计要求
在信息高度发达的今天,人事管理的对象是一个单位或若干单位种的员工的基本信息,这些信息是在变化的。人事部门要为本单位、上级部门提供准确的统计数据。由于人员众多、数据复杂、统计管理工作困难,以往每做一项工作,都需要花费很多的时间和精力。传统的人工管理方式有诸如效率低,保密性差,查找、更新、维护困难等各种各样的缺点。因此,人事管理系统能够为用户例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。能够极大地提高人事管理的效率。同时,使企业实现科学化、正规化管理以及与世界先进管理技术接轨。
(三)设计环境
该系统的开发环境主要是PHP+MysqL.二、需求分析
(一)系统总体需求
1.系统简介
该系统是一个企业人事财务管理系统,主要是分为前台部分和后台部分,前台部分是面向员工,主要包括注册及登陆,工资信息的查询,考勤查询,查询自己的某月或者全年考勤加班情况等功能的实现。后台部分是面向管理员,主要包括对职员信息管理,对部门或者职位的变更,对员工考勤信息的管理和维护,对员工的工资进行结算等功能。
以企业的人事工资管理为设计和开发对象,系统应具有的设计要求包括:
1、全体员工的岗位、级别设定、员工的基本信息设定;
2、企业部门的划分与设定;;
3、员工不同工种的基本工资设定;
4、加班津贴应根据加班时间和类型给予不同的补助;
5、按照不同工种的基本工资、考勤、应产生员工的月工资;
6、设计年终奖的计算方法;
7、工资报表,能够查询每个员工的工资情况、每个部门的工资情况、按月的工资统计,按年的工资统计;
8、进一步基于工资的财务预算与决算;
系统由php+mysql设计实现,具有数据操作方便、高效、迅速等优点。该系统采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性。2.系统分析
(1)系统管理
对使用系统的用户进行管理,为他们分配一定的权限,使他们规范的使用系统。本系统的用户及其操作权限都是由管理员添加的,管理员添加完毕之后,再将登录名(即职工编号)和密码分配给员工。
(2)职工信息管理
管理员可以对职工信息进行管理,包括对职工基本信息和职工调动情况的记录进行查询、添加、删除和修改。
(3)职工考勤管理
用于对职工的考勤情况进行记录,同时管理和查询企业职工出勤情况。其中包括日考勤记录、请假、加班、出差等情况的查询、添加、删除和修改。
(4)职工工资管理
可以根据职工的考勤情况,对员工的工资进行结算,负责打印工资条。年底结算后,可以根据公司的业绩情况,对职工发放不同的奖金。
(5)对企业开销进行管理
可以在年初对企业进行今年一年开销的预算,制定财务计划;年终可以进行结算,计算工资一年的成果。作为来年公司预算的参考。
(6)对部门和职位的管理
根据公司的具体情况,增设、删除和改变职位和部门,同时设置不同部门不同职位的基本工资。
(三)数据字典
1.职员表:职员编号(主键)、职员所属部门、职位、职员登录密码
表2.1 职员表的建立
2.考勤表:职员编号(主键)、年份、月份、缺勤次数、普通加班、特殊加班
表2.2 考勤表的建立
3.职员薪水表:部门编号(主键)、职位号(主键)、基本工资
表2.3 职员薪水表的建立
4.职位表:职位编号(主键)、职位名称
表2.4 职位表的建立
5.部门表:部门编号(主键)、部门名称
表2.5 部门表的建立
6.管理员表:管理员登录账号(主键)、密码
表2.6 管理员表的建立
三、概念结构设计
(一)E-R图
图3.1 职员 E-R 图
图3.2 考勤 E-R 图
图3.3 部门 E-R 图
图3.4 职位 E-R 图
图3.5 薪水设计 E-R 图
图3.6 管理员 E-R 图
部门编号姓名职位编号登录密码职员编号查询年份查询月份缺勤天数普通加班特殊加班职员编号部门编号部门名称职位编号部门职员考勤am管理nnmpl考勤q管理管理员密码o查询b职位编号管理员薪水部门编号管理账户管理员编号职位名称职位基本工资 图3.7 总设计 E-R 图
(二)系统的功能结构设计
1.总架构设计
图3.8 系统总体功能图
2.功能模块的划分
1:系统管理
系统启动的时候有一个管理员用户,使用这个用户登陆以后,可以添加其他用户,而且每个用户都可以更改自己的密码。
1)登陆系统
2)用户设置:设置用户密码,只有管理员才能创建修改删除其他用户。3)退出系统 2:人事管理
1)添加员工信息:系统自动生成员工的编号。管理员可以添加员工的基本信息。包括姓名,性别,年龄,联系电话,学历,专业,分配部门和职位,进入本公司的时间等;
2)修改员工信息:选择一个员工,可以修改这个员工的基本信息。包括员工调动时的信息修
改,以及工资修改;
3)查询员工的基本信息:可以根据员工的编号,姓名进行查询员工的基本信息,并且可以针对查询结果进行修改和册除等工作;
4)册除员工信息:直接从列表中选中要册除的员工信息,然后进行册除操作,或者首先查询要册除的员工信息,然后在册除。
3:基础信息管理
1)职务类别设置:设置职务分类,增加或者删除职位;
2)工资类别设置:设置工资分类,根据考勤表发放工资和奖金等; 3)部门类别设置:设置部门分类。4:考勤管理
1)考勤记录:记录员工的出勤情况;
2)考勤查询:调用数据库来查询员工的出勤情况。5:公司财务管理 1)年初总体预算; 2)年底结算。
四、逻辑结构设计
该企业人事财务管理系统主要分为两个部分,分别对应管理员管理和职员。
(一)关系模式
职员可以登录系统,查询自己的工资情况,也可以查询自己的考勤情况。
管理员登录,可以管理员工信息,管理考勤信息,可以查询基本工资,根据公司每年的开支,进行年底结算,根据公司收支,对员工进行不同的奖励。
(二)表的设计与创建
考虑系统的实际需要,本系统数据库至少要包含职员信息表(staff)、薪水信息表(salary)、考勤表(check1)、部门表(department)、职位表(post)、管理员表(admin)。
职员信息表(staff)
管理员表(admin)
薪水信息表(salary)
部门表(department)
职位表(post)
考勤表(check1)
五、数据库系统开发与实现
基于的旅店管理系统主要分为两个部分,分别对应管理员管理和职员查询。
(一)管理员主要功能模块设计
管理员可以登录,系统主界面如图5-1所示。
图5-1 系统主界面
1.部门及职位管理模块
管理员登录后可以进行部门和职位的管理,如图5-2所示:
图5-2 部门管理主界面
点击添加部门可以完成新部门新职位的添加功能,代码如下,操作界面如图5-3 所示 mysql_query(“insert into department values('”.$DepartNo.“','”.$DepartmentName.“')”);mysql_query(“insert into salary values('”.$DepartNo.“','”.$PostNo.“','”.$Basic_Salary.“')”);点击编辑按钮可以修改各部门不同职位的底薪,代码如下:
$sql=“update department set DepartmentName='”.$DepartmentName.“' where DepartNo='”.$DepartNo.“'”;
图5-3 部门职位编辑界面
对按删除按钮,根据主键可以直接删除整条记录,实现对部门和职位的删除,关键代码如下: mysql_query(“delete from salary where DepartNo = ”.$DepartNo.“ and PostNo =”.$PostNo);mysql_query(“delete from department where DepartNo = ”.$DepartNo);2.工资修改模块
管理员登录成功后,可以从数据库中查询员工的基本工资信息,主代码如下:
$result=mysql_query(“select * from staff,department,post,check1,salary where staff.DepartNo like '”.$c2.“' and staff.StaNo=check1.StaNo and staff.PostNo=salary.PostNo and salary.PostNo=post.PostNo and staff.DepartNo=salary.DepartNo and salary.DepartNo=department.DepartNo ”)3.员工管理模块
管理员登录成功后,可以从数据库中查询员工的基本信息,主界面如图5-4 所示:
图5-4 员工基本界面
可增加新的员工,给他分配部门和职位,主要代码:
mysql_query(“insert into staff(StaNo,StaName,PostNo,DepartNo)values
('”.$StaNo.“' , '”.$StaName.“' , '”.$PostNo.“ ', '”.$DepartNo.“')”);
对已存在的员工,可以根据职员编号进行修改信息,主要代码,界面如图5-5所示 : mysql_query(“update staff set PostNo='”.$PostNo.“' where StaNo='”.$StaNo.“'”);mysql_query(“update staff set DepartNo='”.$DepartNo.“' where StaNo='”.$StaNo.“'”);header(“Location: querry.php”);
图5-5 修改员工信息界面
按删除按钮,可以删除员工,代码如下:
mysql_query(“delete from staff where StaNo='”.$StaNo.“'”);4.查询工资模块
管理员登录成功后,可以从数据库中查询员工的基本信息,可以按照年份,月份,不同的部门进行查询,主界面如图5-6 所示:
图5-6 查询工资界面
主要代码:
mysql_query(“select * from staff,department,post,check1,salary where staff.StaNo=check1.StaNo and staff.PostNo=salary.PostNo and salary.PostNo=post.PostNo and staff.DepartNo=salary.DepartNo and salary.DepartNo=department.DepartNo”)5.修改考勤表模块
管理员登录成功后,可以从数据库中查询员工的考勤基本信息,可以按照年份,月份,不同的部门进行查询,主界面如图5-7 所示:
图5-7 查询考勤表界面
可以对员工的考勤进行添加,代码: mysql_query(“insert into check1 values('”.$StaNo.“','”.$Year.“','”.$Month.“','”.$Less.“','”.$Normal.“','”.$Specifieness.“')”);还可以进行编辑,界面如下:
图5-8 考勤表编辑界面
主要代码:
“update check1 set Normal='”.$Normal.“' where StaNo='”.$StaNo.“' and Month ='”.$Month.“'and Year='”.$Year.“'”;
(二)后台主要功能模块设计
管理员登录成功后,可以从数据库中查询自己的工资信息,如图5-9:
图5-9 员工查询工资界面
结 论
本文描述了基于PHP+mySql环境设计的网上书店系统的设计与实现,具有一定的理论和实践意义。该系统是Windows 7,web服务器Apache,数据库服务器MySQL,服务器端脚本编程环境PHP,共同完成的。
设计要求提的很完善,该系统实现了工资的查询,不同用户的登录,管理员可以对公司的业绩进行年初的预算,年终的结算,根据不同部门的不同职位,分配不一同的工资,年末根据公司的业绩以及个人表现情况,对不同的人员发放不同的奖金福利。员工可以查询自己不同月份,不同年份的工资详情等。但是最后设计的时候我们遇到很多问题,工资结算的时候,我们还是没有详细划分,只做出了最终的工资总额,可能对员工查询详细工资不方便,还有就是公司的结算预算,没有做进去,系统显得不是很完善,以后还是应该多多研究。所以通过老师的指点,我们还应该努力,最终解决这些问题,以更好的完成了整个系统的开发工作。
参考文献
[1]刘金岭,冯万利.数据库原理及应用实验与课程设计指导[M].北京:清华大学出版,2010.[2]王珊,萨师道.数据库系统概论[M].北京:高等教育出版社,2006
[3] Verhoef C.P,Donkers B.Predicting customer potential value an application in the insurance industry.Decision Support Systems[J].2001,32(1): 189-199.
[4] 吴毅杰,张志明.B/S与C/S的比较及其数据库访问技术[J].舰船电子工程.2003:56-58. [5] Philip lew,孙伟.Software Engineering English[M].清华大学出版社.2004:225-260. [6](德)斯皮勒▪林茨,(挪)谢弗.软件测试基础教程[M].北京:人民邮电出版社.2009:96-120.
第五篇:企业人事管理系统
摘 要
人事管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。使其企业人事管理初步实行计算机化,让计算机在人事管理中得到初步应用。使人事管理者总是根据准确、及时的人事信息来进行决策,实现管理为有效改进现有的企业人事管理模式,提高企业对职工信息、考核、奖惩、调动等基本信息管理的效率,开发了该企业人事管理系统。该系统可通过运用两个用户进入登录,之后对表进行了设计,可对表内的信息进行插入、修改、删除等操作,而使用触发器就可明白对该表或视图进行了什么操作。可使用视图进行多表查询,使用表间联系,选择所需列可快速查询信息,方便了表的使用,还可使用存储过程输入参数查询,因此也提高了该系统应用的灵活性。
关键字:企业人事管理,SQL Server 2005,系统,开发
目 录 企业人事管理系统开发基础..........................................1 1.1 SQL Server 2005 的介绍........................................1 1.2 系统开发背景及现状............................................1 1.3 需求分析......................................................1 1.3.1 需求调查..................................................1 1.3.2 流程图....................................................2 2 数据库设计........................................................2 2.1E-R图.........................................................3 2.2 表的设计......................................................3 2.2.1 员工信息表................................................4 2.2.2 部门信息表................................................5 2.2.3 调动信息表................................................6 2.2.4 奖惩表....................................................7 2.2.5 考勤信息表................................................7 2.2.6 学历分布表................................................8 2.2.7 政治面貌代码表............................................9 2.2.8关系图....................................................9 2.3创建视图.....................................................10 2.3.1 本科人员表...............................................10 2.3.2 加班人员名单.............................................11 2.3.3 人员调动情况.............................................12 2.3.4 受奖人员.................................................13 2.3.5 硕士已婚人员.............................................14 2.3.6 销售部人员表.............................................15 2.3.7 员工表...................................................16 2.4 存储过程.....................................................17 2.4.1部门人员表...............................................18 2.4.2 婚姻学历表(加密).........................................20 2.4.3 加班次数.................................................22
2.4.4 奖惩类别表...............................................23 2.4.5 学历表...................................................24 2.5触发器及对信息的操作.........................................25 2.5.1 触发器“添加”及添加信息.................................25 2.5.2 触发器”修改”及修改信息.................................27 2.5.3 触发器”删除”及删除信息.................................28 2.6 权限.........................................................28 2.6.1 管理用户者权限...........................................29 2.6.2用户者权限...............................................31 3总结.............................................................34 4 致谢.............................................................34 5 参考文献.........................................................35
企业人事管理系统 企业人事管理系统开发基础
1.1 SQL Server 2005 的介绍
SQL Server 2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管员可以通过这个连接,接通这个正在运行的服务器。这一功能将能让管理员,通过操作诊断功能、或Transact—SQL指令,找到并解决发现的问题。
SQL SERVER 2005将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。
1.2 系统开发背景及现状
在企业中,人事管理工作是非常重要的一项工作,它负责整个企业的日常人事安排,人员的人事管理等。以前都是人工进行操作。随着企业规模的扩大,人事管理的工作量也大大地加重。随着计算机应用的发展,人事工作者急切希望能够将大部分烦琐的工作交给计算机处理,以减轻人工的压力并提高工作效率。而计算机的普及加快人事管理系统的产生。
人事管理的主要任务是为实现企业的整体目标提供合适可用的人才,这就要求人事部门进一步加大人事制度改革的力度,建立好人才档案,为企业选拔贤能创造一个良好的工作环境,使员工用其所长、人尽其才;关心和改善员工的生活条件,使员工无后顾之忧,充分发挥自己的内在潜力。
企业人事管理的根本目的就是通过使用人才去达到最大利益。企业人事管理工作的好坏对企业的发展有较大的影响,企业对人事管理都较为重视。通过互联网查询的资料来看,国内目前类似的系统大多是针对企业员工管理,而对企业引进人才方面以及与员工交流平台方面所做的工作不多。
1.3 需求分析
1.3.1 需求调查
人事管理是企业管理的一个重要内容。随着时代的进步,企业也逐渐变的庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个重要问题。在企业人事管理系统
这种情况下,一个可以规范化,自动化的企业人事管理系统就显的非常重要。
最初的人事管理,都是靠人力来完成。当企业规模比较小的时候,人力可以完成。随着企业规模越来越大,企业员工的人数越来越多,依然维持着人力进行管理必然会造成工作效率底,工作错误增高等问题。
人事管理系统就是把分散的企业单位的职工信息实行统一,集中,规范的收集管理。建立分类编号管理,电脑存贮查询、增加、修改、删除等现代化,专业化的管理系统。为企事业单位和职工解除后顾之忧。1.3.2 流程图
图1-1 流程图 数据库设计
数据库设计是数据库应用系统开发的关键环节,保证数据完整性,企业人事管理系统面向的对象是企业内部的各部门,提高人事管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
企业人事管理系统
2.1E-R图
E-R图也叫实体-联系图(Entity Relationship Diagram),它可以提供能够表示出实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R的基本要素主要有:
(1)实体型:在E-R图中用矩形来表示实体型,在矩形框内写明实体的名称。比如员工李
四、学生张三都是实体。
(2)属性:在E-R图中用椭圆来表示属性,并用无向边将其与相应的实体连接起来。比如员工的姓名、工号、性别等都是属性。
(3)联系:在E-R图中用菱形来表示联系,在菱形框内写联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
图2-1-1 E-R图
2.2 表的设计
表是数据库的基本单位,它是一个二维表,表由行或列组成。在设计数据时,应在充分进行项目需求分析调查的前提下,分析该系统要有哪些表,每个表中要有那些列。设计表时应考虑:表有哪些列,列的名字,每一列的数据类型和长度,该列是否允许为空值;表中哪些列需要定义主键,哪个列需要定义外键、唯一键、标识列;表中哪些列的数据有效范围需要限定,需要对哪些列提高查询速度。
企业人事管理系统
图2-2-1 数据库内所建表
2.2.1 员工信息表
员工信息表内存储的数据是每个职工的基本信息,包括员工编号,姓名,性别,出生日期,政治面貌ID,学历编号,婚姻状况,部门编号,所任职位,现居地址,联系方式,入职时间,离职时间,在职状态等列。
图2-2-2 表所建列
(1)代码
USE [企业人事管理系统] GO CREATE TABLE [dbo].[员工信息表]([员工编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NOT NULL, [姓名] [nvarchar](10)COLLATE Chinese_PRC_CI_AS NULL, [性别] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NULL, [出生日期] [smalldatetime] NULL, [政治面貌ID] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NOT NULL, [学历编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NOT NULL, [婚姻状况] [nvarchar](4)COLLATE Chinese_PRC_CI_AS NULL, [部门编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NOT NULL, [所任职位] [nvarchar](50)COLLATE Chinese_PRC_CI_AS NULL, [现居地址] [nvarchar](20)COLLATE Chinese_PRC_CI_AS NULL, [联系方式] [varchar](11)COLLATE Chinese_PRC_CI_AS NULL, [入职时间] [datetime] NULL, [离职时间] [datetime] NULL,企业人事管理系统
[在职状态] [nvarchar](4)COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_员工信息表] PRIMARY KEY CLUSTERED([员工编号] ASC, [政治面貌ID] ASC, [学历编号] ASC, [部门编号] ASC)WITH(IGNORE_DUP_KEY = OFF)ON [PRIMARY])ON [PRIMARY] GO
(2)查询员工的基本信息:可以根据员工的编号,姓名或是进入本公司的时间进行查询员工的基本信息,在此根据员工编号查询一条员工信息。
SELECT [员工编号] ,[姓名],[性别] ,[出生日期],[婚姻状况], [部门编号],[所任职位],[现居地址],[联系方式],[在职状态] FROM [企业人事管理系统].[dbo].[员工信息表] where 员工编号='00023'
图2-2-3 查询信息
2.2.2 部门信息表
图2-2-4(1)代码
USE [企业人事管理系统] GO CREATE TABLE [dbo].[部门信息表]([部门编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NOT NULL, [部门名称] [nvarchar](50)COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_部门信息表] PRIMARY KEY CLUSTERED([部门编号] ASC
企业人事管理系统)WITH(IGNORE_DUP_KEY = OFF)ON [PRIMARY])ON [PRIMARY](2)查询某部门,使用部门编号=113 SELECT [部门编号] ,[部门名称] FROM [企业人事管理系统].[dbo].[部门信息表] where 部门编号=114
图 2-2-5 2.2.3 调动信息表
图 2-2-6(1)代码
USE [企业人事管理系统] GO CREATE TABLE [dbo].[调动信息表]([员工编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NULL, [调动日期] [datetime] NULL, [调动原因] [nvarchar](50)COLLATE Chinese_PRC_CI_AS NULL, [调后部门编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NULL, [调后职位] [nvarchar](50)COLLATE Chinese_PRC_CI_AS NULL)ON [PRIMARY](2)查询某员工调动情况,员工编号=00032 SELECT [员工编号] ,[调动日期],[调动原因],[调后部门编号],[调后职位] FROM [企业人事管理系统].[dbo].[调动信息表] where 员工编号=00032
企业人事管理系统
图 2-2-7 2.2.4 奖惩表
图 2-2-8 代码
USE [企业人事管理系统] GO CREATE TABLE [dbo].[奖惩表]([员工编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NULL, [奖惩日期] [datetime] NULL, [奖惩类别] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NULL, [奖惩原因] [nvarchar](50)COLLATE Chinese_PRC_CI_AS NULL, [奖惩分数] [int] NULL)ON [PRIMARY] Go 2.2.5 考勤信息表
图 2-2-9
企业人事管理系统
代码
USE [企业人事管理系统] GO CREATE TABLE [dbo].[考勤信息表]([考勤编号] [int] IDENTITY(1,1)NOT NULL, [考勤月份] [nvarchar](2)COLLATE Chinese_PRC_CI_AS NULL, [员工编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NULL, [病假] [int] NULL, [事假] [int] NULL, [迟到] [int] NULL, [早退] [int] NULL, [出差] [int] NULL, [加班] [int] NULL, [备注] [nvarchar](100)COLLATE Chinese_PRC_CI_AS NULL, [记录时间] [datetime] NULL)ON [PRIMARY] Go 2.2.6 学历分布表
图 2-2-10 代码
USE [企业人事管理系统] GO CREATE TABLE [dbo].[学历分布表]([学历编号] [nvarchar](5)COLLATE Chinese_PRC_CI_AS NOT NULL, [学历] [nvarchar](6)COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_学历分布表] PRIMARY KEY CLUSTERED([学历编号] ASC)WITH(IGNORE_DUP_KEY = OFF)ON [PRIMARY])ON [PRIMARY]
企业人事管理系统
2.2.7 政治面貌代码表
图 2-2-11 代码
USE [企业人事管理系统] GO CREATE TABLE [dbo].[政治面貌代码表]([政治面貌ID] [nvarchar](1)COLLATE Chinese_PRC_CI_AS NOT NULL, [政治面貌名称] [nvarchar](4)COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_政治面貌代码表] PRIMARY KEY CLUSTERED([政治面貌ID] ASC)WITH(IGNORE_DUP_KEY = OFF)ON [PRIMARY])ON [PRIMARY] 2.2.8关系图
图2-2-12
企业人事管理系统
2.3创建视图
视图是一个虚拟表,它保存SELECT语句的定义,是用户查看数据库表中数据的一种方式。用户通过它能够以需要的方式浏览表中的部分或全部数据,而数据的物理存放位置仍然在数据库的表中,这些表称作视图的基表。
视图中的数据可以来自一个或多个基表,也可以来自视图。
视图可以使用户集中在他们感兴趣或关心的数据上,而可以考虑那些不必要的数据。这样,由于用户只能看到在视图中显示的数据,而看不到视图所引用的表的其他数据。在一定程度上保证了数据的安全性。
图2-3-1 数据库内视图
2.3.1 本科人员表
建立该视图,通过员工信息表与学历分布表间的联系,查询学历为本科的职员。操作如下:
图2-3-2 所用表及表间关系
企业人事管理系统
图2-3-3 列名及筛选条件
图2-3-4 查询结果
创建视图代码
USE [企业人事管理系统] GO CREATE VIEW [dbo].[本科人员表] AS SELECT dbo.员工信息表.员工编号, dbo.员工信息表.姓名, dbo.员工信息表.性别, dbo.学历分布表.学历
FROM dbo.员工信息表INNER JOIN dbo.学历分布表ON dbo.员工信息表.学历编号= dbo.学历分布表.学历编号 WHERE(dbo.学历分布表.学历= N'本科')GO 2.3.2 加班人员名单
使用员工信息表与部门信息表、员工信息表与考勤信息表间的联系,查询公司职员的加班情况,以及一些相关信息。
图2-3-5 所用表及表间关系
企业人事管理系统
图2-3-6 列名及筛选条件
图2-3-7 查询结果
USE [企业人事管理系统] GO CREATE VIEW [dbo].[加班人员名单] AS SELECT TOP(100)PERCENT dbo.员工信息表.员工编号, dbo.员工信息表.姓名, dbo.部门信息表.部门编号, dbo.员工信息表.所任职位, dbo.考勤信息表.考勤月份, dbo.考勤信息表.加班 FROM dbo.部门信息表INNER JOIN dbo.员工信息表ON dbo.部门信息表.部门编号= dbo.员工信息表.部门编号INNER JOIN dbo.考勤信息表ON dbo.员工信息表.员工编号= dbo.考勤信息表.员工编号 WHERE(dbo.考勤信息表.加班> 0)ORDER BY dbo.考勤信息表.考勤月份, dbo.部门信息表.部门编号 GO 2.3.3 人员调动情况
使用员工信息表与调动信息表和部门信息表两表间联系,查询员工调动情况,包括原部门名称及职位和调后部门编号及职位。
图2-3-8 所用表及表间关系
企业人事管理系统
图2-3-9 列名及筛选条件
图2-3-10 查询结果
USE [企业人事管理系统] GO CREATE VIEW [dbo].[人员调动情况] AS SELECT dbo.员工信息表.员工编号, dbo.员工信息表.姓名, dbo.部门信息表.部门名称AS 原部门名称, dbo.员工信息表.所任职位, dbo.调动信息表.调动日期, dbo.调动信息表.调后部门编号, dbo.调动信息表.调后职位 FROM dbo.员工信息表INNER JOIN dbo.调动信息表ON dbo.员工信息表.员工编号= dbo.调动信息表.员工编号INNER JOIN dbo.部门信息表ON dbo.员工信息表.部门编号= dbo.部门信息表.部门编号 GO 2.3.4 受奖人员
使用三表间联系,查询包括员工编号、姓名、部门编号、部门名称、奖惩类别及奖惩分数在内的受奖人员情况。
图2-3-11 所用表及表间关系
企业人事管理系统
图2-3-12 列名及筛选条件
图2-3-13 查询结果
USE [企业人事管理系统] GO CREATE VIEW [dbo].[受奖人员] AS SELECT dbo.员工信息表.员工编号, dbo.员工信息表.姓名, dbo.部门信息表.部门编号, dbo.部门信息表.部门名称, dbo.奖惩表.奖惩类别, dbo.奖惩表.奖惩分数 FROM dbo.奖惩表INNER JOIN dbo.员工信息表ON dbo.奖惩表.员工编号= dbo.员工信息表.员工编号INNER JOIN dbo.部门信息表ON dbo.员工信息表.部门编号= dbo.部门信息表.部门编号 WHERE(dbo.奖惩表.奖惩类别= N'奖')GO 2.3.5 硕士已婚人员
该视图使用员工信息表和学历分布表间的联系,查询学历及婚姻状况分布情况,在此筛选学历为硕士,婚姻状况为已婚的员工。
图2-3-14 所用表及表间关系
企业人事管理系统
图2-3-15 列名及筛选条件
图2-3-16 查询结果
USE [企业人事管理系统] GO CREATE VIEW [dbo].[硕士已婚人员] AS SELECT dbo.员工信息表.员工编号, dbo.员工信息表.姓名, dbo.员工信息表.性别, dbo.学历分布表.学历, dbo.员工信息表.婚姻状况 FROM dbo.员工信息表INNER JOIN dbo.学历分布表 ON dbo.员工信息表.学历编号= dbo.学历分布表.学历编号
WHERE(dbo.学历分布表.学历= N'硕士')AND(dbo.员工信息表.婚姻状况= N'已婚')GO 2.3.6 销售部人员表
查询一个部门有哪些员工,以及他们所任职位,就可以使用该视图查询部门人员,此处使用筛选器筛选了部门编号为111的部门。操作如下:
图2-3-17 所用表及表间关系
企业人事管理系统
图2-3-18 列名及筛选条件
图2-3-19 查询结果
USE [企业人事管理系统] GO CREATE VIEW [dbo].[销售部人员表] AS SELECT dbo.员工信息表.员工编号, dbo.员工信息表.姓名, dbo.员工信息表.部门编号, dbo.部门信息表.部门名称, dbo.员工信息表.所任职位 FROM dbo.部门信息表INNER JOIN dbo.员工信息表ON dbo.部门信息表.部门编号= dbo.员工信息表.部门编号 WHERE(dbo.员工信息表.部门编号= N'111')GO 2.3.7 员工表
通过三表间联系,只查询各个职员的编号、姓名、性别、所在的部门名称及政治面貌名称。
图2-3-20 所用表及表间关系
企业人事管理系统
图2-3-21 列名及筛选条件
代码
USE [企业人事管理系统] GO CREATE VIEW [dbo].[员工表] AS SELECT TOP(100)PERCENT dbo.员工信息表.员工编号, dbo.员工信息表.姓名, dbo.员工信息表.性别, dbo.部门信息表.部门名称, dbo.政治面貌代码表.政治面貌名称 FROM dbo.员工信息表INNER JOIN dbo.部门信息表ON dbo.员工信息表.部门编号= dbo.部门信息表.部门编号INNER JOIN dbo.政治面貌代码表ON dbo.员工信息表.政治面貌ID = dbo.政治面貌代码表.政治面貌ID GO
2.4 存储过程
存储过程是T-SQL语句和流控语句集合,存储过程能被编译和优化。当首次执行存储过程是,SQL Server为其产生查询计划并将其保留在内存中,以后在调用该存储过程时就不必在进行编译,在一定程度上改善了系统的功能。
图2-4-1 存储过程
企业人事管理系统
2.4.1部门人员表
前面在视图中已创建了一个“销售部人员表”,在这里使用存储过程创建了一个“部门人员表”的意图在于通过参数查询一个或多个部门的员工信息及所任职位。(1)创建代码
create procedure p_部门人员表 @部门名称nvarchar(50)as select 员工编号,姓名,部门名称,所任职位 from 员工信息表y,部门信息表b where y.部门编号=b.部门编号and 部门名称=@部门名称 order by 员工编号
图2-4-2 创建存储过程(部门人员表)
(2)按部门名称查询部门人员
图2-4-3 执行存储过程部门人员表
企业人事管理系统
图2-4-4 该存储过程执行界面
可在”值”一栏中输入任意部门名称,在此查询”销售部”和”采购部”
USE [企业人事管理系统] GO DECLARE @return_value int EXEC @return_value = [dbo].[p_部门人员表] @部门名称= N'销售部' SELECT 'Return Value' = @return_value GO
图2-4-5 查询销售部人员
USE [企业人事管理系统] GO DECLARE @return_value int EXEC @return_value = [dbo].[p_部门人员表] @部门名称= N'采购部' SELECT 'Return Value' = @return_value GO
图2-4-6 查询采购部人员
企业人事管理系统
2.4.2 婚姻学历表(加密)(1)代码
USE [企业人事管理系统] GO create procedure [dbo].[婚姻学历表] @婚姻状况nvarchar(4),@学历nvarchar(6)with encryption as select 员工编号,姓名,婚姻状况,学历 from 员工信息表y,学历分布表x where y.学历编号=x.学历编号and 婚姻状况=@婚姻状况and 学历=@学历 order by 员工编号 GO
(2)执行
因该存储过程被加密,因此无法修改此存储过程.图2-4-7 执行存储过程 婚姻学历表
图2-4-8 输入条件项
USE [企业人事管理系统] GO DECLARE EXEC @return_value int @return_value = [dbo].[婚姻学历表] @婚姻状况= N'未婚',企业人事管理系统
@学历= N'研究生' SELECT 'Return Value' = @return_value GO
图2-4-9 查询未婚研究生人员
因此,该企业没有同时符合婚姻状况为未婚,学历为研究生的人员
USE [企业人事管理系统] GO DECLARE EXEC @return_value int @return_value = [dbo].[婚姻学历表] @婚姻状况= N'未婚',@学历= N'大专' SELECT 'Return Value' = @return_value GO
图2-4-10 查询未婚大专人员
企业人事管理系统
2.4.3 加班次数(1)代码
USE [企业人事管理系统] GO create procedure [dbo].[加班次数] @加班int as select 姓名,性别,加班as '加班次数' from 员工信息表y,考勤信息表k where y.员工编号=k.员工编号and 加班=@加班
(2)执行
图2-4-11 USE [企业人事管理系统] GO DECLARE EXEC @return_value int @return_value = [dbo].[加班次数]
@加班= 1 SELECT 'Return Value' = @return_value GO
图2-4-12
企业人事管理系统
2.4.4 奖惩类别表(1)代码
USE [企业人事管理系统] GO create procedure [dbo].[奖惩类别表] @奖惩类别nvarchar(50)as select 姓名,奖惩类别,奖惩分数 from 员工信息表y,奖惩表j where y.员工编号=j.员工编号and 奖惩类别=@奖惩类别
(2)执行
图2-4-13 USE [企业人事管理系统] GO DECLARE EXEC @return_value int @return_value = [dbo].[奖惩类别表]
@奖惩类别= N'奖' SELECT 'Return Value' = @return_value GO
图2-4-14
企业人事管理系统
2.4.5 学历表
USE [企业人事管理系统] GO create procedure [dbo].[学历表] @学历nvarchar(6)as select 员工编号,姓名,性别,学历from 员工信息表y,学历分布表x where y.学历编号=x.学历编号and 学历=@学历
图2-4-15 USE [企业人事管理系统] GO DECLARE EXEC @return_value int @return_value = [dbo].[学历表]
@学历= N'研究生' SELECT 'Return Value' = @return_value GO
图2-4-16
企业人事管理系统
2.5触发器及对信息的操作
触发器主要通过事件触发而被执行,在指定的表进行Insert、Update或Delete操作时被触发。SQL Server将触发器和触发它的语句作为可在触发器内回滚的单个事物对待,如果检测到严重错误,则这个事务即自动回滚,恢复到原来的状态。下图是在员工信息表中所建的触发器。
图2-5-1 2.5.1 触发器“添加”及添加信息 添加一条员工信息,运用触发器显示。(1)触发器“添加”代码
USE [企业人事管理系统] GO create trigger [添加] on [dbo].[员工信息表] for insert as print '增加一条员工信息'(2)插入信息
图2-5-2
企业人事管理系统
INSERT INTO [企业人事管理系统].[dbo].[员工信息表]([员工编号],[姓名],[性别],[出生日期],[政治面貌ID],[学历编号], [婚姻状况],[部门编号],[所任职位],[现居地址],[联系方式],[入职时间], [离职时间],[在职状态])
VALUES('11111','新新','女','1990-12-5','2','004','未婚','113','职员','','','','','在')
图2-5-3
图2-5-4 查询结果1
企业人事管理系统
2.5.2 触发器”修改”及修改信息(1)触发器”修改”代码
USE [企业人事管理系统] GO create trigger [修改] on [dbo].[员工信息表] for update as print '修改员工信息'
(2)修改信息代码及执行结果
UPDATE [企业人事管理系统].[dbo].[员工信息表] SET [政治面貌ID] =001,[所任职位] ='经理' ,[现居地址] = '浙江' ,[联系方式] =*** ,[入职时间] = 2009-9-4 WHERE 员工编号='11111'
图2-5-5
图2-5-6
企业人事管理系统
2.5.3 触发器”删除”及删除信息(1)触发器”删除”代码
USE [企业人事管理系统] GO create trigger [删除] on [dbo].[员工信息表] for delete as print '删除一条员工信息'
(2)删除信息代码及执行结果
DELETE FROM [企业人事管理系统].[dbo].[员工信息表] WHERE 员工编号='11111'
图2-5-7
2.6 权限
权限管理是指安全帐号登录SQL Server之后,能够对数据库对象执行的操作。
SQL Server包括两类权限:对象权限、语句权限。对象权限是针对表、视图和存储过程而言的一些操作。语句权限主要指是否具有权限来执行某一语句。这些语句通常是一些具有管理系统能够的操作,如:创建数据库、表和存储过程。
企业人事管理系统
2.6.1 管理用户者权限
在此系统中,使用权限可以将管理者和用户拥有的权限不同,管理者可以对表进行Select、Update、Delete、Insert、reference等操作,对列进行Select、Update等操作,对视图进行Select、Update、Delete、Insert等操作,对存储过程进行Execute等操作。
关于管理者用户权限的操作在前面的触发器操作中已有展现,在此只说明管理者用户权限的创建及所授予权限。(1)代码及方法
CREATE LOGIN [owner] WITH PASSWORD=111, DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[简体中文], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO ALTER LOGIN [owner] DISABLE
图2-6-1
设置登录名为“owner“,选中SQL Server 身份验证,设置密码,取消”强制实施密码策略“复选框的选中状态。
图2-6-2
企业人事管理系统
单击左上角”用户映射“,在”映射到此登陆名的用户“下方的框中选择”企业人事管理系统“,之后在”数据库角色成员身份“下方的框中选择”db_owner“和“public”,这样owner就有了企业人事管理系统数据库的所有操作权限。
图2-6-3
图2-6-4(2)授予权限
use 企业人事管理系统 go grant select,insert,update,delete,execute to owner
图2-6-5
企业人事管理系统
2.6.2用户者权限
用户者权限在此系统中,只能进行一些查询操作。(1)代码及创建方法
CREATE LOGIN [users] WITH PASSWORD=000, DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[简体中文], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO ALTER LOGIN [users] DISABLE
图2-6-6
图2-6-7
图2-6-8
企业人事管理系统
(2)授予权限
use 企业人事管理系统 go grant select to users
图2-6-9(3)使用用户者权限对系统进行其他操作(在此做部分举例)用户者权限没有修改表列的权限
图2-6-10
图2-6-11
企业人事管理系统
图2-6-12 用户者没有修改表内列的信息的权限
图2-6-13 此语句是要修改员工编号为00011的职员的政治面貌ID,因该用户不具有Update权限,因此无法修改该条信息。
当系统使用用户者权限时,我们所创建的存储过程不会显示。
图2-6-14
企业人事管理系统
3总结
随着当今社会向信息化的发展,人事管理信息化管理来越为各企事业单位所重视,它能有效地收集、执行各种办公信息,极大地提高了办公效率,及时准确地实现信息的上传下达,而计算机技术、网络技术、各种软件工作平台不断的发展,又能够促进人事管理信息化管理加速实现。
本系统的不足在于没有用可视化功能强大的VB.NET作为开发工具,因此在操作上可能会使用户比较困难,但对于熟练SQL Server 2005起到一定作用。
在技术上由于对软件开发平台的不够熟悉,很多组件及其之间的联系掌握不够以至不能灵活运用,造成程序内容不丰富,使用不方便,其次在系统分析上在待加强训练,这次的设计规模较小,但我在软件的定义时期,特别是在需求分析时,一度让我无从下手,所耗时间比开发时期都长。
但收获还是梃大的,在这次论文设计中,使我综合运用所学知识和技能对实际问题的分析概括能力加强,通过检索文献资料、了解、学习、掌握本学科专业领域中新的知识和发展动态,并恰当地将其运用到论文中,同时让我深深体会到(软件)工程开发的艰辛与乐趣,开发者必须态度端正,认真制定设计方案和工作计划,严格按照软件工程的流程完成设计的各个环节。
毫无疑问,这次毕业论文设计是对我本学期所学知识的一次检测同时对我在今后的学习中进行程序设计是有很大的帮助作用的。致谢
从编写程序到拟定报告,历时十多天。在本设计完成之际,首先向我的指导老师以诚挚的谢意。在报告的书写过程中,老师给了我许多的帮助和关怀,指导老师治学严谨,待人平易近人,在指导老师的细心指导下,我学到了扎实的专业知识。
同时,衷心感谢我的同窗同学,在我的实训报告的写作中,与同学们的探讨交流使我收益颇多,同时,他们也给了我很多无私的帮助和支持,我深表谢意。
企业人事管理系统 参考文献
[1]刘健.企业人事管理系统的开发.黑龙江科技信息,2008,19(20)
[2]刘畅.配件进销存管理信息系统的设计与开发.天津大学学报,2006,10(9)[3]李俊民,精通SQL结构化查询语言详解(第二版).北京:人民邮电出版社,2008.35