您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 数据库课程设计—企业工资管理系统(java版+完整代码)
数据库课程设计报告2016年5月20日目录企业工资管理系统姓名王素文班级软133学号139074224课程名称数据库原理及应用指导教师陈业斌一.工资管理系统需求分析…………………………………1.1功能需求…………………………………………………1.1.1功能划分………………………………………1.1.2功能描述……………………………………………1.2性能需求…………………………………………………1.3数据流图………………………………………………二.总体设计…………………………………………………2.1数据库概念设计…………………………………………2.2功能模块…………………………………………………三.系统详细设计……………………………………………3.1数据库逻辑设计…………………………………………3.2各模块功能………………………………………………3.2.1职工信息管理系统…………………………………3.2.2职工工资管理系统…………………………………3.2.3职工津贴管理系统…………………………………四.系统实现…………………………………………………4.1界面截图…………………………………………………4.1.1主界面及工资基本信息界面……………………4.1.2登录界面…………………………………………4.1.3系统主界面………………………………………4.1.4信息录入,修改,删除,查询界面…………4.2设计代码…………………………………………………五.实验总结…………………………………………………11、需求分析1.1功能需求1.1.1功能划分(1)、员工信息表;及时反映员工的基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表1.1.2功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。本课程设计是用Java语言编写,mysql数据库。1.3数据流图2根据工资管理要求及用户需求调查分析,得到以下数据流图图1.1第一层数据流图图1.2职工信息的载入图1.4考勤的信息载入2.总体设计2.1数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图修改职工信息删除职工记录输入职工基本信息工资表添加操作修改操作删除操作用户查询操作职工号津贴表添加操作修改操作删除操作查询操作用户31nm图2.1实体之间关系E-R图2.2功能模块员工领取工资领取津贴影响职工号姓名职工号基本工资职工号津贴姓名密码工资管理系统系统模块工资管理模职工登陆模员工管理姓名43.系统详细设计3.1数据库逻辑设计将以上E-R转换成如下关系模式管理员(姓名,密码,权限)员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表一:员工信息表:列名数据类型可否取空备注说明noChar(6)NOTNULL职工号(主键)namevarChar(10)NOTNULL职工姓名mivarchar(10)NOTNULL登录密码表二:基本工资表:列名数据类型可否取空备注说明noChar(8)NOTNULL职工号(主键)namevarChar(10)NOTNULL职工姓名JbintNOTNULL基本工资表三:管理员表:列名数据类型可否为空备注说明glnamevarChar(10)NOTNULL管理员姓名(主键)glmmvarChar(10)NOTNULL登陆密码powerchar(3)NOTNULL权限表四:津贴信息表列名数据类型可否为空备注说明5noChar(6)NOTNULL职工号(主键)namevarChar(10)NOTNULL职工姓名JtintNOTNULL津贴createtableyg(novarchar(6),namevarchar(10),jbgzint(11),jtint(11),mmvarchar(10));createtablegly(alnamevarchar(10),glmmvarchar(10),powerchar(3));3.2各模块功能3.2.1职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息3.2.2职工工资管理系统功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3.2.3职工登陆查询系统功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;4.系统实现64.1界面截图4.1.1主界面4.1.2登录界面4.1.3管理员管理工资界面74.1.4信息录入,修改,删除,查询界面4.1.5职工信息查询界面84.1.6职工密码修改界面4.2设计代码注:以下代码只选取了各个页面内与数据库操作有关的内容进入系统publicvoidactionPerformed(ActionEvente){t1=newString(username.getText());9t2=newString(password.getPassword());if(e.getSource()==logonButton1){try{Connectioncon;Statementsql;ResultSetrs;Class.forName(com.mysql.jdbc.Driver);//Class.forName(com.mysql.jdbc.Driver).newInstance();//驱动con=DriverManager.getConnection(jdbc:mysql://localhost:3306/dba,root,123457);sql=con.createStatement();rs=sql.executeQuery(selectglname,power,glmmfromglywhereglname='+t1+'andglmm='+t2+');//查询//power=rs.getString(power);if(rs.next()){if(rs.getString(glname).equals(t1)&&rs.getString(glmm).equals(t2)){name=t1;GZGLZJMyg=newGZGLZJM(name);frame.dispose();yg.create();//JOptionPane.showMessageDialog(newDL(),登录成功!);//if(JOptionPane.YES_OPTION==0){frame.dispose();////}}}else{JOptionPane.showMessageDialog(this,输入用户名或密码错误!);}con.close();sql.close();}catch(Exceptione1){//TODOAuto-generatedcatchblocke1.printStackTrace();}}if(e.getSource()==logonButton2)10{try{Connectioncon;Statementsql;ResultSetrs;Class.forName(com.mysql.jdbc.Driver);//Class.forName(com.mysql.jdbc.Driver).newInstance();//驱动con=DriverManager.getConnection(jdbc:mysql://localhost:3306/dba,root,123457);sql=con.createStatement();rs=sql.executeQuery(select*fromygwherename='+t1+'andmm='+t2+');//查询if(rs.next()){if(rs.getString(name).equals(t1)&&rs.getString(mm).equals(t2)){name=t1;YGDLJMyg=newYGDLJM(name);frame.dispose();yg.create();JOptionPane.showMessageDialog(newDL(),登录成功!);if(JOptionPane.YES_OPTION==0){frame.dispose();}else{JOptionPane.showMessageDialog(this,输入用户名或密码错误!);}con.close();sql.close();}catch(Exceptione1){//TODOAuto-generatedcatchblocke1.printStackTrace();}}if(cancelButton.equals(e.getSource()))//退出{11System.exit(0);}}}publicvoidchaxun(){Connectioncon;Statementsql;ResultSetrs;//Vectorvector=newVector();try{Class.forName(com.mysql.jdbc.Driver);}catch(ClassNotFoundExceptione1){JOptionPane.showMessageDialog(this,连接数据库失败!);}try{con=DriverManager.getConnection(jdbc:mysql://localhost:3306/dba,root,123457);sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.TYPE_SCROLL_SENSITIVE);//if(b4.equals(查询所有)){for(inti=0;i50;i++)for(intj=0;j4;j++)table.setValueAt(,i,j);rs=sql.executeQuery(selectno,name,jbgz,jtfromyg);//distinctintk=-1;while(rs.next()){++k;Stringno=rs.getString(1);Stringname=rs.getString(2);Stringjbgz=rs.getString(3);Stringjt=rs.getString(4);//intsum=rs.getInt(3)+rs.getInt(4);table.setValueAt(no,k,0);12table.setValueAt(name,k,1);table.setValueAt(jbgz,k,2);table.setValueAt(jt,k,3);//table.setValueAt(sum,k,4);}con.close();sql.close();}catch(SQLExceptio
本文标题:数据库课程设计—企业工资管理系统(java版+完整代码)
链接地址:https://www.777doc.com/doc-5985934 .html