版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计-工资管理系统《数据库原理》课程设计报告专业:
信息安全班级:
0441002学号:姓名:题目名称:完成日期:
2010212142康慧博 夏真珍工资管理系统2012年6月
梁丽元2日重庆邮电大学计算机科学与技术学院实验中心系统设计1.1目标设计在工资管理中,需要从公司管理方式以及实际情况中提取相关信息,以反映工资管理情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。避免重复劳动,规范工资管理行为,从而提高了管理效率和水平。让人们的效率大大提高.不难想象,正是资讯的迅速发展使得人们从过去繁复的手工劳作中得以解脱,从而使这种服务在现在才可能迅速普及。同时,编写一套完整的工资管理系统的任务就显得尤为重要。开发设计思想本系统开发设计思想:对公司软硬件调查,从实际环境出发,以便充分利用公司现在资源,提高系统开发水平和应用效果。了解公司的需要及相关方面的规定,根据需要做出符合要求的软件,并达到操作过程中的直观、方便、实用、安全等要求。-1-将系统按模块分工到人,提高效率,且模块化设计便于系统功能的各种组合和修改及日后的维护系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、等操作。1.3开发和运行环境选择开发工具:SQL2000, java语言。运行环境:WindowsXP,Windows2000或VISTA操作系统。1.4系统功能分析本系统主要用于员工基本信息的管理,对员工以及其他信息的添加、修改、删除、查询等基本操作。对于数据库的保护有数据备份和数据恢复的功能。针对这些要求,设计本月工资信息管理系统。该系统主要包括职工信息、职工考勤信息、职工津贴信息。1)职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息;员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;2)职工工资管理系统-2-功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3)职工津贴管理系统功能为:财务部门相关人员录入、修改、删除、查询职工津贴信息;职工本人能查询自己的津贴;4)职工考勤管理系统功能为:后勤管理人员录入、修改、删除、查询职工考勤信息;职工本人能查询自己的考勤情况。采用模块化设计思想,可以大大提高设计的效率,并且可以最大限度地减少不必要的错误。其系统结构框图如图所示:工资管理系统-3-系工津考员统资贴勤工模生管管管块成理理理模模模模块块块块图1.1系统功能模块图数据库设计2.1数据库需求分析根据工资管理要求及用户需求调查分析,得到以下数据流图职工信操作数据工资信息系统操作考勤信息数据库操作津贴管进入基本界图2.1第一-4-层数据流图添加输入职工用户修改职修改职工表删除职删除职工号查询图2.2职工信息的载入添加输入工资用户修改工修改工资表删除工资信息删除查 询图2.3工资的信息载入-5-添加输入考勤用户修改考修改删除考勤信息删除查询图2.4考勤的信息载入添加输入津贴
考勤表用户修改津删除津贴信息
修改删除查 询
津贴表图2.5津贴的信息载入职工管理员进入系统-6-进入员工(工资,考勤,津贴)表职津工考勤进 行 录图2.6信息查询及管理的流程图2.2 数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图2-2所示基本职 个 人工资-7-医疗1领n电话m缺勤影n出勤1 nm密 影-8-n1n领图 2.7实体之间关系E-R图2.3 数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,工龄,部门岗位,电话号码,密码)工资(职工号,个人所得税,基本工资,医疗保险,缺勤扣除)考勤(职工号,缺勤天数,缺勤类别,时-9-间)津贴(职工号,年终奖金,加班奖金,其他奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表一:员工信息表:列名数据类型可否取空备注说明noCharNOT职工号(主(8)NULL键)nameChar(10)NOT职工姓名NULLgwChar(20)NOT部门岗位NULLglSmallintNOT工龄NULL-10-hm Char(11) NULL 电话号码mi Smallint NOT 登录密码NULL表二:工资表:列名数据类型可否取空备注说明noChar(8)NOT职工号(主NULL键)JbmoneyNOT基本工资NULLylmoneyNULL医疗保险SwmoneyNULL个人所得税kcmoneyNULL缺勤扣除JtmoneyNULL津贴yzmoneyNOT月总工资NULL表三:员工考勤信息表列名 数据类型 可否取空 备注说明-11-noChar(8)NOT职工号(主NULL键)tsInt(4)NULL缺勤天数lbChar(30)NULL缺勤类别SjChar(10)NULL缺勤时间表四:津贴信息表列名数据类型可否为空备注说明noChar(8)NOT职工号(主NULL键)JiabanmoneyNULL月加班奖金nzmoneyNULL年终奖金qtmoneyNULL其他奖金3.功能模块详细设计3.1主界面及工资基本信息界面的设计-12-图2.8 欢迎画面-13-图2.9登录界面图3.0 系统主界面-14-图3.1 考勤信息录入,修改,删除,查询界面3.2功能描述主界面通过菜单将各个模块连接起来工资基本信息模块工资基本信息的添加、修改和删除等基本-15-操作3.3主要源代码classzzlcimplementsActionListener{JFrameframe=newJFrame(" 欢迎进入 ZZLC工资管理系统");JLabellabel=newJLabel("制作人:康慧博夏真珍梁丽元",JLabel.CENTER);JButtonbutton1=newJButton("进入系统");JButtonbutton2=newJButton("退出系统");ImageIconim=newImageIcon("1.jpg");JLabela1=newJLabel(im);-16-voidCreate(){JPanelpcontentPane=(JPanel)frame.getContentPane();JPanelpcontentPane1=newJPanel();pcontentPane.add(label);pcontentPane.setLayout(newFlowLayout());pcontentPane.add(button1);pcontentPane.add(button2);pcontentPane.add(newLabel(""));pcontentPane.add(a1);pcontentPane.setBackground(Color.pink);pcontentPane.setVisible(true);button1.addActionListener(this);button2.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();-17-frame.setBounds(200,100,550,600);frame.setVisible(true);}publicstaticvoidmain(String[]args){zzlcdome=newzzlc();dome.Create();}publicvoidactionPerformed(ActionEvente){if(button1.equals(e.getSource())){DLdl=newDL();dl.create();}if(button2.equals(e.getSource())){// 退出System.exit(0);}}}-18-classDLimplementsActionListener{JFrameframe=newJFrame("职工/管理员登陆");JLabellabel1=newJLabel(" 用户名");JLabellabel2=newJLabel(" 密码");JButtonlogonButton1=newJButton(" 管理员登录");JButtonlogonButton2=newJButton(" 职工登录");JButton cancelButton=new JButton(" 退出");JTextFieldt1=newJTextField(0);JTextFieldt2=newJTextField(0);ImageIconim=newImageIcon("2.jpg");JLabela2=newJLabel(im);JTextFieldusername=newJTextField(9);JPasswordFieldpassword=newJPasswordField(9);voidcreate(){JPanelp=(JPanel)frame.getContentPane();-19-JPanelp1=newJPanel();p.setLayout(newFlowLayout());p.add(label1);p.setSize(5,5);p.setLocation(4,8);p.add(username);p.setSize(100,200);p.setLocation(800,800);p.add(label2);p.setSize(50,20);p.setLocation(40,80);p.add(password);p.setSize(100,20);p.setLocation(80,120);p.add(logonButton1);p.add(newJLabel(" "));p.add(logonButton2);p.add(newJLabel(" "));p.add(cancelButton);p.add(newJLabel(" "));p.add(a2);p.add(t1);-20-p.add(t2);p.setBackground(Color.red);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200,100,750,550);frame.setVisible(true);}publicvoidactionPerformed(ActionEvente){if(logonButton1.equals(e.getSource())&&(username.getText().equals("123")==true)&&(password.getText().equals("123")==true)){GZGLZJMgz=newGZGLZJM();-21-gz.create();}else{JOptionPane.showMessageDialog(null,"对不起,你输入的密码错误!");};if(logonButton2.equals(e.getSource())&&(username.getText().equals(t1.getText())==true)&&(password.getText().equals(t2.getText())==true)){XKxk=newXK();xk.create();Connectioncon;Statementsql;ResultSetrs;Vectorvector=newVector();try{-22-}try{con =DriverManager.getConnection("jdbc:odbc:123","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeQuery("SELECT Gno,mmFROMYWHEREGno="+t1.getText()+"ANDmm="+t2.getText());}catch(SQLExceptione1){}}if(cancelButton.equals(e.getSource())){System.exit(0);}}-23-}classGZGLZJMextendsJFrameimplementsActionListener{JFramef=newJFrame("工资管理系统");JButtonb1=newJButton(" 津贴管理");JButtonb2=newJButton(" 总查询");JButtonb3=newJButton(" 工资管理");JButtonb4=newJButton(" 后勤管理");JButtonb6=newJButton(" 员工个人信息管理");JButtonb5=newJButton(" 返回");ImageIconim=newImageIcon("3.jpg");JLabela3=newJLabel(im);voidcreate(){JPanelp=(JPanel)f.getContentPane();JPanelp1=newJPanel();p.setLayout(newFlowLayout());p.add(b1);p.add(newJLabel(" "));p.add(b6);-24-p.add(newJLabel(" "));p.add(b3);p.add(newJLabel(" "));p.add(b4);p.add(newJLabel(" "));p.add(b2);p.add(newJLabel(" "));p.add(b5);p.add(a3);p.setBackground(Color.red);p.setVisible(true);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);f.setBounds(200,100,800,600);f.setVisible(true);}publicvoidactionPerformed(ActionEvent-25-e){if(b5.equals(e.getSource())){// 返回DLd=newDL();f.dispose();}if(b1.equals(e.getSource())){// 津贴管理JTGLjt=newJTGL();jt.create();}if(b6.equals(e.getSource())){// 员工个人信息管理YGGLyg=newYGGL();yg.create();}if(b2.equals(e.getSource())){// 查询XKxk=newXK();xk.create();}if(b4.equals(e.getSource())){// 后勤管理KQGLkq=newKQGL();-26-kq.create();}if(b3.equals(e.getSource())){//工资管理GZGLgz=newGZGL();gz.create();}}}classKQGLimplementsActionListener{JFramef=newJFrame("录入修改删除考勤信息");JButtonb1=newJButton(" 录入");JButtonb2=newJButton(" 修改");JButtonb3=newJButton(" 删除");JButtonb4=newJButton(" 查询所有");JButtonb5=newJButton(" 返回");JTextFieldtf1=newJTextField(4);JTextFieldtf2=newJTextField(4);JTextFieldtf3=newJTextField(4);JTextFieldtf4=newJTextField(4);JTextFieldtf5=newJTextField(6);JButtonb6=newJButton(" 查询单人考勤-27-");String[]cloum={" 职工号","缺勤天数","缺勤类别","缺勤时间"};Object[][]row=new Object[50][4];JTabletable=newJTable(row,cloum);JScrollPanescrollpane=newJScrollPane(table);JSplitPanesplitpane=newJSplitPane(JSplitPane.VERTICAL_SPLIT);voidcreate(){JPanelp=(JPanel)f.getContentPane();p.setLayout(newFlowLayout());//p.add(scrollpane);p.add(splitpane);JPanelp1=newJPanel();p1.add(b1);p1.add(b2);p1.add(b3);-28-p1.add(b4);p1.add(b6);p1.add(b5);JPanelp2=newJPanel();p2.setBackground(Color.red);p2.add(scrollpane);JPanelp3=newJPanel();p.setLayout(newFlowLayout());p.add(newJLabel(""));p.add(newJLabel(" 职工号"));p.add(tf1);p.add(newJLabel(" 缺勤天数"));p.add(tf2);p.add(newJLabel(" 缺勤类别"));p.add(tf3);p.add(newJLabel(""));p.add(newJLabel(" 缺勤时间"));p.add(tf4);-29-p.add(newJLabel(" 在此处输入职工号点击查询删除 "));p.add(tf5);splitpane.add(p1,splitpane.TOP);splitpane.add(p2,splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);f.setBounds(200,100,500,600);f.setResizable(true);// 可以调整界面大-30-小f.setVisible(true);}public voidactionPerformed(ActionEvente){if(b1.equals(e.getSource())){ // 添加Connectioncon;Statementsql;ResultSetrs;try{} catch(ClassNotFoundException e1){-31-}try{con=DriverManager.getConnection("jdbc:odbc:123","","");sql=con.createStatement();String insertStr = "INSERTINTOKVALUES"+"("+"'"+tf1.getText()+ "'" + "," + tf2.getText()+"," + "'"+tf3.getText()+"'" +","+tf4.getText()+")";sql.executeUpdate(insertStr);con.close();}}if(b2.equals(e.getSource())){// 修改Connectioncon;Statementsql;-32-ResultSetrs;try{} catch(ClassNotFoundException e1){}try{con=DriverManager.getConnection("jdbc:odbc:123","","");sql=con.createStatement();sql.executeUpdate("UPDATE KSETts="+tf2.getText()+"WHEREKno="+tf1.getText()+"");sql.executeUpdate("UPDATE KSET lb="+tf3.getText()+"WHEREKno="+tf1.getText()+"");sql.executeUpdate("UPDATE KSET sj="+tf4.getText()+"WHERE-33-Kno="+tf1.getText()+"");con.close();}}if(b3.equals(e.getSource())){// 删除Connectioncon;Statementsql;ResultSetrs;try{} catch(ClassNotFoundException e1){}try{-34-con =DriverManager.getConnection("jdbc:odbc:123","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETEFROMKWHEREKno="+tf5.getText());con.close();}catch(SQLExceptione1){}}if(b4.equals(e.getSource())){// 查询全部Connectioncon;Statementsql;ResultSetrs;Vectorvector=newVector();-35-try{}try{con =DriverManager.getConnection("jdbc:odbc:123","sa","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if(b4.equals(e.getSource())){for(inti=0;i<50;i++)for(intj=0;j<4;j++)table.setValueAt("",i,j) ;rs=sql.executeQuery("SELECT*FROMKORDERBY-36-KnoDESC");intk=-1;while(rs.next()){++k;StringKno=rs.getString(1);Stringts=rs.getString(2);Stringlb=rs.getString(3);Stringsj=rs.getString(4);table.setValueAt(Kno,k,0);table.setValueAt(ts,k,1);table.setValueAt(lb,k,2);table.setValueAt(sj,k,3);}}}catch(SQLExceptione1){}}-37-if(b6.equals(e.getSource())){ //查询关键字Connectioncon;Statementsql;ResultSetrs;Vectorvector=newVector();try{}try{con =DriverManager.getConnection("jdbc:odbc:123","sa","");sql=con.createStatement(ResultSet.TYPE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 廉洁从业课件
- 【课件】部编语文三上12 总也倒不了的老屋【国家级】一
- 《光合作用说课》课件
- 《品德服装销售》课件
- 儿童手术全麻介绍
- 一年级数学两位数加减一位数题过关测验题大全附答案
- 现代殡葬技术与管理专业群课程主题遗体覆盖党旗相关规定
- 新大陆云服务平台的使用综合案例智慧养老技术概论
- 圣诞微商活动策划方案
- 大班社会活动红绿灯
- 2024年工程承包合同协议书模板
- 第五节 错觉课件
- 江苏省南通市2024-2025学年高一上学期11月期中英语试题(无答案)
- 2024-2030年中国水煤浆行业发展规模及投资可行性分析报告
- 2024中国石油报社高校毕业生招聘6人管理单位遴选500模拟题附带答案详解
- 2024年国际船舶买卖合同(散货船)
- 自然资源调查监测技能竞赛理论考试题库大全-下(判断题)
- GB 17790-2008家用和类似用途空调器安装规范
- 呕吐(急性胃肠炎)诊疗指南(制订)编制说明排版
- 江堤道路工程施工方案#江苏
- 李燕璇植树问题卡通版5
评论
0/150
提交评论