1、数据库课程设计企业员工工资管理系统数据库课程设计报告企业员工工资管理系统姓 名:_班 级:_学 号:_指导教师:_成 绩:_完成时间:_完成地点:_摘 要企业的工资管理是公司管理的一个重要内容。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。但考虑到学生的开发时间,本次设计主要阐述员工工资管理系统主要是以企业员工工资情况为对象而开发的
2、。涉及系统比较小,有利于学生单独编写。其系统的设计主要包括数据库的设计、维护和应用界面的设计与后台数据库的连接。经分析采用Microsoft 公司开发的Visual Basic 6.0为开发工具,Microsoft SQL sever 2000 为后台数据库。Visual Basic (简称VB)是由Microsoft公司推出的在Windows操作平台下最迅速、最简捷的应用开发工具之一。它引入了面向对象的程序设计思想和“控件”的概念,使得大量已经编好的Visual Basic 程序可以直接拿来使用。同时VB具有简单、易学的特点,是大多数初学者最理想的编程语言,也是专业人员得心应手的开发工具。它
3、在一个公共环境里集成了许多不同的功能,例如,设计、编辑、编译和调试。目前市场上数据库的主流厂商及产品有IBM DB2、Microsoft SQL SERVER 2000、ORACLE 9i、Sybase。Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理。Microsoft SQL Server 2000简
4、化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。关键词:工资管理系统、设计、开发工具目录摘 要 1目录 2第一章 绪论 31.1 问题的提出 31.2 系统设计功能 3第二章 数据库系统设计 52.1 数据库分析设计 52.2 数据各个表之间的关系 6第三章 各个关系间的数据结构 73.1 系统设计目标 73.2 系统概要分析 7第四章 企业工资管理系统应用设计 94.1 企业工资管理系统设计 94.2 子模块的设计 10第五章 各个模块部门代码 155.1登陆界面 155.2 各个子模块代码设置 16第六章 各模块设计要点 236.1 登录模块设计 236
5、.3用户管理设计 236.3 信息管理设计 236.4 查询工资设计 24第七章 结束语 25致谢 26参考文献 27第1章 绪论1.1 问题的提出 随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企
6、业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。工资管理系统是企、事业单位常见的计算机信息管理系统。它的主要任务是对各种工资信息进行日常的信息管理,如工资信息
7、的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。在建立与实现工资管理系统时,进行了功能划分,能够由数据库管理系统完成的功能应尽可能由数据库管理系统守成,充分发挥数据库管理系统高效、完全、可靠、便捷的性能,减少编程人员的工作量。工资管理系统是数据库管理系统的一个比较典型的应用,前台使用的是微软的VB6.0,后台数据库采用Microsoft SQL Sever数据库。运行结果证明,本企业员工工资管理系统极大提高了工作效率,节省了人力和物力,自重满足企业员工工资管理的需要。1.2 系统设计功能 企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管
8、理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:(1) 对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。(2) 对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。(3) 查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有
9、的员工的工资信息。(4)对用户管理功能。一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。第二章 数据库系统设计2.1 数据库分析设计 需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。此次课程设计的使用者是企业的员工,主要是针对系统的管理员。
10、其进行的操作就是对公司员工、部门等一些方面改动的改善。由此对员工需求分析如下。 用户的需求就是对员工工资和使用用户的添加、删除、修改和查询。这就要求各种信息中存在实体完整性、参照完整性和用户自定义完整性。搜集了各项要求,故数据项要求设计如下:表2.1员工信息表键名称数据类型大小空默认值主键员工编号char8不可以姓名char8不可以性别char2可以“男”出生年月datetime8可以外键所属部门char4可以文化程度char4可以职称char12可以表2.2 部门信息键名称数据类型大小空默认值主键部门编号char4不可以部门名称char20可以部门负责人char8可以部门人数int4可以表2
11、.3 基本工资键名称数据类型大小空默认值主键工资级别char2可以工资金额numeric5(8,2)不可以表2.4岗位工资键名称数据类型大小空默认值主键工资级别char2可以工资金额numeric5(8,2)不可以表2.5工资信息键名称数据类型大小空默认值主键、外键员工编号char8不可以外键部门编号char4可以基本工资numeric5(8,2)可以岗位工资numeric5(8,2)可以水电费numeric5(8,2)可以实发工资numeric5(8,2)可以2.2 数据各个表之间的关系 在设计过程中,从用户的角度考虑来处理各个表之间的约束关系,把概念模式转化成逻辑模式最终形成E-R图。员工
12、信息表(员工编号、姓名、性别、出生年月、所属部门、文化程度、职称)部门信息表(部门编号、部门名称、部门负责人、部门人数)基本工资表(工资级别、工资金额)岗位工资表(工资级别、工资金额)工资信息表(员工编号、部门编号、基本工资、岗位工资、水电费、实发工资)各个模块之间的关系,如图2.1所示。 图2.1 各表之间的联系第三章 各个关系间的数据结构3.1 系统设计目标 开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。实现企业高效、科学、现代化的员工管理。系统最终实现的主要功能如下。企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如
13、水电费。企业信息管理部分:包括员工信息、部门信息和发放工资(工资信息)。企业员工查询部分:包括按员工查询和按部门查询。系统部分:包括添加用户、修改用户信息。3.2 系统概要分析 用户在使用一个系统时,必须先登录操作界面,在操作完成后然后再退出,其操作如图3.1所示。 注销图3.1 系统流程图说明:操作员进入管理系统的身份不同,所获得的权限也不同,普通用户只可以查询自己的工资情况,而且部门对自己的所有信息进行更改。图3.2 用户操作模块说明:管理员可以对所有模块进行操作,普通用户只可以进行查询员工工资的权限。说明:在各个子模块操作时用户同时在实现更改的时候在对话框上的网格看到后台数据库最新的动态
14、。各个模块简介:登录模块:主要完成用户的登录信息核对并进入主界面。用户管理模块:主要完成对用户信息的添加、修改和删除功能。信息设置模块:主要对企业内部员工和部门的管理。工资查询模块:主要完成对员工工资的查询。第四章 企业工资管理系统应用设计4.1 企业工资管理系统设计4.1.1 “登陆模块”详细设计“登录模块”的设计主要是针对用户登录界面的设计,判断用户是管理员还是普通用户,从而进入主界面。登陆界面主要由用户名和密码的信息,还有标题的设置,登录和取消按钮的设置。用户只有选择用户名后填入相应的密码后点击“登录”才能进入主界面,点击“取消”会退出系统。由此,登陆界面设计如图4.1所示图4.1 登陆
15、界面设计界面若用户对此有操作上的错误,我设计的特点是都有提示的对话框(几乎每个窗体都设置了如下操作,除了特殊的提示外,为节省打印纸张,相同的提示在以后的篇幅中不再一一写出),如图4.2所示 4.2 操作错误提示若用户三次输入密码错误,系统会认为恶意进入,系统自动关闭。如图4.3所示图4.3 强制关闭图4.1.2 “主界面”的详细设计主界面的设计是由菜单编辑器生成,主要由系统设置、设置、信息维护、工资查询五个模块组成。其作用是使程序更加有条有理,有利于管理。其中普通用户只可部分操作,管理员可以对所有模块进行操作。主界面设计如图4.4所示: 图4.4 主界面设计图4.2 子模块的设计 4.2.1
16、选择“系统设置”“用户管理”“用户添加”菜单,在添加用户的窗体里输入用户名、用户密码和权限,系统自动新增用户名及其用户信息。如图4.5所示。为了防止用户在输入密码时按错键或者一时忘记密码,我在设计的时候运用了“确认密码”的文本框,其属性与密码项相同。可以用来矫正用户一时的粗心大意目的,完善了系统的完整性。 图4.5 用户添加4.2.2. 选择”系统设置“?”用户管理“?”用户修改“菜单,其窗体由五个标签、两个文本框、两个组合框和一个按钮组成,分别设置它们的属性,其中两个组合框的属性设置为只读属性。在用户修改的窗体里选择用户名即可修改用户密码和权限,系统价自动更改后台数据库的用户信息。设计界面如
17、图4.6所示 图4.6 用户修改4.2.3 选择”系统设置“?”用户管理“?”用户删除“菜单,窗体设计较简单,分别由一个文本框、一个组合框和两个按钮组成,组合框的属性设置为只读属性。由于删除的用户只可以是后台数据库中存在的用户在下拉按钮中选择要删除的用户名,即可删除用户名及其有关信息。关于用户管理的子菜单,只有管理员有权限进入设置。4.2.4 选择”设置“?”基本工资“菜单,自动弹出基本工资设置的对话框(如图4.7所示),在网格中会显示数据库中现有的基本工资级别和金额,用户在填写完级别和金额后单击添加或者修改按钮进行后台数据库的更新。在网格中选择要删除的基本工资,点击删除按钮,系统会自动进行删
18、除,并且所有的操作后会自动刷新网格,以及时提供给用户信息。 图4.7 基本工资设置4.2.5 选择”设置“?”岗位工资“菜单后,自动弹出对话框,其功能与基本工资设置相同,在此不在赘述。4.2.6选择”信息维护“?”部门管理“菜单后会出现如图4.9所示对话框,管理员用户可以通过网格浏览现有库中的部门信息,在部门信息框架中输入部门信息,同时也可添加、修改部门信息,数据库自动更新。当删除一条信息时,会出现如图4.8所示提示信息,用户可以选择删除或者取消操作。但如其部门已经被引用,则delete语句会与约束条件发生冲突,不能删除。 图4.8 确定删除对话框 图4.9 部门管理设置4.2.7 选择”信息
19、维护“?”员工管理“菜单后会出现如下对话框,“性别”组合框默认为“男”,如用户输入的不是“男”或者是“女”时,添加操作将不能进行,并且在填写员工信息时,员工的性别默认为“男”。其进行的操作与部门管理相同,不再赘述。 4.2.8 选择”信息管理“?”发放工资“菜单,网格显示的是现有后台数据库中的员工工资信息,右边可以直接浏览员工工资信息。直接点击选择网格中的工资信息,单击删除按钮可直接删除。考虑到设计页面的大小问题,对工资信息的添加和修改操作转移到另一个窗体(如图4.10所示)中进行。 用户可以在工资信息中输入员工的工资信息,由于添加和修改的操作同时在一个窗体中进行,员工编号不知道要添加的哪一个
20、,所以员工编号的下拉按钮不是“只读”属性,用户在输入员工编号时应输入一个存在的员工,不然则弹出如图4.11所示的提示框。 图4.10工资信息设置 图4.11 员工不存在提示 4.2.9选择“工资查询”?“按员工查询”菜单,弹出如图4.12所示对话框,用户可以选择单人查询或者全部显示,但是不能对员工的工资做任何的改动。 管理员可以查看所有人的工资情况,但是普通用户只可以查看自己的工资情况,别人的工资情况不允许查看。图4.12 按员工查询4.2.10 选择“工资查询”?“按部门查询”菜单,弹出对话框,当选择“部门编号”后可执行“单个显示”,若想全部显示,可直接单击”显示所有“按钮。网格中将会同时刷
21、新后台数据库信息,但是不能做任何的修改。第五章 各个模块部门代码5.1登陆界面 Static try_times As Integer Dim sql As String Dim rst As ADODB.Recordset If Trim(cmo_user.Text) = Then MsgBox 请选择用户名, vbOKOnly + vbInformation, 提示 cmo_user.SetFocus Else If Trim(txt_key.Text) = Then MsgBox 请输入密码, vbOKOnly + vbExclamation, 提示 txt_key.SetFocus E
22、lse sql = select * from 用户表 where 用户名= & Trim(cmo_user.Text) & Set rst = ExecuteSQL(sql, ) If Trim(rst.Fields(1) = Trim(txt_key.Text) Then tempuser = Trim(cmo_user.Text) power = Trim(rst.Fields(2) username = Trim(cmo_user.Text) rst.Close frm_main.Show Unload Me If power 管理员 Then frm_main.set.Enabled
23、 = False frm_main.defend = False End If Else MsgBox 密码不正确,请重新输入, vbOKOnly + vbExclamation, 警告 txt_key.SetFocus txt_key.Text = try_times = try_times + 1 If try_times = 3 Then MsgBox 您已三次尝试进入本系统失败,系统将自动关闭, vbOKOnly + vbExclamation, 结束 Unload Me End If End If End If End IfEnd SubPrivate Sub Form_Load()
24、 Dim i As Integer Dim sql As String Dim rst As ADODB.Recordset sql = select 用户名 from 用户表 Set rst = ExecuteSQL(sql, ) For i = 1 To rst.RecordCount cmo_user.AddItem (rst.Fields(0) rst.MoveNext Next i rst.CloseEnd Sub5.2 各个子模块代码设置5.2.1 以用户添加为例,部分代码如下所示Private Sub cmd_add_Click()Dim rst As ADODB.Records
25、etDim sql As StringDim i As IntegerIf Trim(txt_adduser.Text) = Or Trim(txt_addkey.Text) = Or Trim(cmo_addpower) = Then MsgBox 请将用户信息填写完整!, vbOKOnly + vbExclamation, 警告 txt_adduser.SetFocus txt_adduser.Text = txt_addkey.Text = txt_rekey.Text = cmo_addpower.Clear Call Form_LoadElse sql = select 用户名 fr
26、om 用户表 Set rst = ExecuteSQL(sql, )If Trim(txt_adduser.Text) = Trim(rst.Fields(0) Then MsgBox 您输入的用户已经存在,请重新输入!, vbOKOnly + vbExclamation, 警告 rst.Close txt_adduser.SetFocus txt_adduser.Text = txt_addkey.Text = cmo_addpower.Clear Call Form_Load txt_rekey.Text = ElseIf Trim(txt_addkey.Text) Trim(txt_re
27、key.Text) Then MsgBox 两次输入的密码不相同,请重新输入!, vbOKOnly + vbExclamation, 警告 txt_addkey.SetFocus txt_addkey.Text = txt_rekey.Text = Else sql = insert into 用户表 values( & & Trim(txt_adduser.Text) & , _ & & Trim(txt_addkey.Text) & , _ & & Trim(cmo_addpower) & & ) Set rst = ExecuteSQL(sql, ) MsgBox 添加成功, vbOKO
28、nly + vbExclamation, 添加结果 txt_adduser.SetFocus txt_adduser.Text = txt_addkey.Text = txt_rekey.Text = cmo_addpower.Clear Call Form_LoadEnd IfEnd IfEnd IfEnd SubPrivate Sub cmd_cancel_Click()Unload MeEnd SubPrivate Sub Form_Load()With cmo_addpower .AddItem 管理员 .AddItem 普通用户End WithEnd Sub5.2.2 工资设置代码以基本工资中的修改和删除为例,岗位工资与基本工资雷同,不再赘述。Private Sub cmd_alter_Click()If Trim(cmo_scale.Text) = Or Trim(txt_money.Text) = ThenMsgBox 请填写需要修改的信息!, vbOKOnly + vbExclamation, 警告cmo_scale.SetFocuscmo_scale.Text = txt_money.Text = Elsesql = select 工资级别 from 基本工资 where 工资级别= & Trim(cmo_scale.Text) &
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1