《数据库课程设计实验报告—人事管理.doc》由会员分享,可在线阅读,更多相关《数据库课程设计实验报告—人事管理.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库技术与应用课程设计报告 题 目 人事管理系统学生姓名 专 业 计算机科学与技术班 级 学 号 2011年 12 月18日目 录一、 设计并开发人事管理系统 1二、 需求分析 2三、 概念设计 4四、 逻辑设计 6五、 具体设计 8六、 程序使用说明 15七、 小组分工及设计体会 20一、设计并开发人事管理系统一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着
2、越来越重要的作用。人事管理信息系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。伴随着人事管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。二、需求分析人事管理系统题目要求:1、 基本信息包括:(1) 人员基本信息:编号、姓名、性别、出生日期、参加工作日期住址、电话等;(2) 来本单位的日期及来自的单位; (3) 职称及评定的时间和工资级别; (4) 职工的奖惩登录; 2、 工资的确定:基本工资与职称和级别有关; 职务补助、房补
3、由职称决定; 工龄津贴由工龄决定; 洗理费由性别决定; 另有每人奖金不同。3、查询员工的各项基本信息;4、查询每个职工的详细工资清单。5、用户管理:信息录入、工资计算的工作人员及普通职工查询自己的信息 人事管理系统需求分析:设计内容:设计如下主要功能模块人事档案管理模块。人员薪酬管理模块。人员培训管理模块。各类报表生成模块。人员内部调动、离岗管理模块。人员奖惩情况管理模块。分析:1. 登录2. 工作人员 职工管理 : 查询、更新 编号、姓名、性别、出生日期、参加工作日期、住址、电话、来自本单位日期、来自的单位、职称。 奖惩登录。 工资管理 : 查询、更新 工资级别、基本工资、职务补助、房补、工
4、龄津贴、洗理费、奖金。3. 职工 登录后,可以查询基本信息,查询来自的单位的日期及来自的单位,职称,评定的时间和工资级别。 奖惩登录。 查看详细工资的清单。系统流程图:登录验证 管理员 职工个人信息查询查看个人奖惩查看工资清单管理职工信息人员培训管理管理报表管理工资奖惩三、概念设计通过对数据库基本信息的分析,建立E-R图如下:职称工资级别职称名管理员密码登录帐号职工编号姓名性别出生日期住址电话来自本单位的时间来自的单位参加工作日期基本工资评定时间职务补助房补工龄工龄津贴工龄年数评定计算奖惩编号1金额内容登陆培训培训时间编号经费四、逻辑设计将E-R图进行总结、归纳,建立如下关系图:职工(编号 姓
5、名 性别 出生日期 参加工作日期 住址 电话 来自单位 来自单位的时间 职称名 评定时间 工龄年数 编号1 )职称(职称名 工资级别 基本工资 职务补助 房补 )工龄(工龄年数 工龄津贴)奖惩(编号1 金额 内容)管理员(登录帐号 密码)五、具体设计1、表结构及数据词典的设计(1) 总体结构人事管理系统共包含6个表,其结构如下:人事管理系统 职工表 职称表 工龄表奖惩 管理员表(2) 表结构及数据词典(3)1) 职工表表结构字段名称数据类型字段大小必填字段允许空字符串编号 varchar50是否姓名 varchar50是是性别char10是是出生日期datetime8是是参加工作日期datet
6、ime8是是住址varchar50是是电话varchar50是是来自本单位的时间datetime8是是职称名varchar50是是评定时间datetime8是是编号1varvhar50是是数据词典编号=各职工的编号,1-50个字符或数字姓名=各职工的姓名,1-50个字符性别=各职工的性别,1-10个字符出生日期=各职工的出生日期,1-8个数字参加工作日期=各职工的工资日期,1-8个数字住址=各职工的住址,1-50个字符电话=各职工的电话,1-50个字符来自本单位的时间=各职工来单位的时间,1-8个数字职称名=各职工的职称名,1-50个字符评定时间=各职工的评定时间,1-8个数字 年、月、日编号
7、1=奖惩登录编号,1-50个字符或数字2)职称表表结构字段名称数据类型字段大小必填字段允许空字符串职称名varchar50是否工资级别 int4是是基本工资money8是是职务补助money8是是房补money8是是职称名=各职工的职称名,1-50个字符或数字工资级别=各职工的工资级别,1-4个字符基本工资=各职工的基本工资,1-8个数字职务补助=各职工的职务补助,1-8个数字房补=各职工的房补,1-8个数字3)工龄表表结构字段名称数据类型字段大小必填字段允许空字符串工龄年数varchar50是否工龄津贴 money8是是工龄年数=各职工的工龄年数,1-50个字符或数字工资津贴=各职工的工资津
8、贴,1-8个数字4)洗理费表结构字段名称数据类型字段大小必填字段允许空字符串性别varchar50是否金额 money8是是性别=各职工的性别,1-50个字符或数字金额=各职工的金额,1-8个数字5)管理员表表结构字段名称数据类型字段大小必填字段允许空字符串登录帐号varchar50是否密码 varchar50是是登录帐号=管理员的登录帐号,1-50个字符或数字密码=管理员的密码,1-50个字符或数字6)奖惩表结构字段名称数据类型字段大小必填字段允许空字符串编号1varchar50是否内容 varchar50是是2、应用程序的模块图及模块分析 (1)应用程序的模块图人事管理系统管理员登陆模块职
9、工登陆模块职工奖惩登陆模块更新模块查询模块(2)模块分析人事管理系统共包含职工登陆模块、职工奖惩登录模块、管理员登录模块、查询模块和更新模块五个模块。1.职工登陆模块: 模块内容:此模块包括职工姓名、职工编号的输入。 模块功能:通过运行此模块,匹配输入正确的职工姓名和职工编号,则允许进入人事管理系统。2.职工奖惩登陆模块: 模块内容:此模块包括职工编号的输入。 模块功能:通过运行此模块,匹配输入正确的职工编号,则允许进入奖惩查看页面。3.管理员登录模块模块内容:此模块包括管理员登录帐号、密码的输入。模块功能:通过此模块,匹配的输入正确的管理员登录帐号和密码,则允许进入管理员操作页面。 4.查询
10、模块 模块内容:此模块可以查看职工的详细信息和工资信息。 模块功能:通过此模块,职工与管理员都可以完成相应的查询工作。职工可以查询自己的基本信息而管理员可以查询所有的职工信息。5.更新模块 模块内容:此模块可以实现修改信息的功能。 模块功能:此模块是对管理员应用的,管理员可以修改职工的个人信息等等。 六、程序使用说明使用人事管理系统,必须先输入员工号和密码,经确认后方可进入系统主界面进行操作。您可以选择使用菜单项进行操作,也可以直接点击相应的标签进入其他的功能使用。1、菜单项的使用(1)主页面:(2)进入系统之后,显示人员管理的主模块的功能,如下图(3)可以进入职工页面具体查看职工个人信息。(
11、4)点击人员档案管理模块,可以对人员进行操作(5)进入添加修改可以对员工进行操作。(6)人员薪酬管理模块(7)人员培训管理。(8)报表生成管理 (9)人员调动管理模块(10)数据备份,恢复(10)人员奖惩情况主要代码:1, 登录模块Private Sub Command1_Click()登陆 检测帐号密码是否为空 If Text1.Text = Then MsgBox 帐号不能为空!, vbCritical, 登陆错误 Exit Sub End If If Text2.Text = Then MsgBox 密码不能为空!, vbCritical, 登陆错误 Exit Sub End If 连接
12、数据库 Set Ado_Conn = New ADODB.Connection Set Ado_RS = New ADODB.Recordset str_CS = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=人事管理系统;Data Source=FREESKYC-FD1640 str_RS = select * from 管理员表 where 登录账号= & Trim(Text1.Text) & SqlConnect Ado_Conn, Ado_RS, str_
13、CS, str_RS 检测帐号是否存在 If Ado_RS.EOF = False Then 如果帐号存在 If Trim(Ado_RS.Fields(登录账号) = Trim(Text1.Text) And Trim(Ado_RS.Fields(密码) = Trim(Text2.Text) Then 管理系统主界面.Show Else 帐号密码错误 MsgBox 帐号、密码错误,请重新输入!, vbCritical, 登陆错误 End If Else 如果帐号不存在 MsgBox 帐号不存在,请重新输入!, vbCritical, 登陆错误 End If 断开数据库连接 SqlDisConn
14、ect Ado_RS End SubPrivate Sub Command2_Click()Dim intResult As Integer请求用户确认是否真的退出系统登录intResult = MsgBox(你选择了退出系统登录,退出将不能启动企业人事管理系统! & vbcrlf_ & 是否真的退出?, vbYesNo, 登录验证)If intResult = vbYes Then End根据用户选择结束应用程序End Sub2,员工添加,修改,删除Private Sub Command1_Click()Adodc1.Recordset.AddNewMsgBox 请输入员工信息,不能为空!E
15、nd SubPrivate Sub Command2_Click()Adodc1.Recordset.Fields(编号) = Trim(Text1.Text)Adodc1.Recordset.Fields(姓名) = Trim(Text2.Text)Adodc1.Recordset.Fields(性别) = Trim(Text3.Text)Adodc1.Recordset.Fields(出生日期) = Trim(Text4.Text)Adodc1.Recordset.Fields(参加工作日期) = Trim(Text5.Text)Adodc1.Recordset.Fields(住址) =
16、Trim(Text6.Text)Adodc1.Recordset.Fields(电话) = Trim(Text7.Text)Adodc1.Recordset.Fields(来自本单位的时间) = Trim(Text8.Text)Adodc1.Recordset.Fields(职称名) = Trim(Text9.Text)Adodc1.Recordset.Fields(评定时间) = Trim(Text10.Text)Adodc1.Recordset.Fields(工龄年数) = Trim(Text11.Text)Adodc1.Recordset.Fields(编号1) = Trim(Text1
17、2.Text)Adodc1.Recordset.UpdateEnd SubPrivate Sub Command3_Click()Dim intResult As Integer请求用户确认是否真的退出添加员工intResult = MsgBox(你选择了取消添加员工,取消将不能添加! & vbcrlf_ & 是否真的取消?, vbYesNo, 提示)If intResult = vbYes Then根据用户选择结束应用程序Adodc1.Recordset.CancelUpdateEnd IfEnd SubPrivate Sub Command4_Click()Dim intResult As
18、 IntegerintResult = MsgBox(确认删除?, vbYesNo)If intResult = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLastEnd IfEnd SubPrivate Sub Command5_Click()Unload MeEnd Sub3,数据备份,恢复Private Sub Command2_Click() 连接数据库 Set Ado_Conn = New ADODB.Conne
19、ction Set Ado_RS = New ADODB.Recordset str_CS = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=人事管理系统;Data Source=FREESKYC-FD1640 str_RS = select * from 管理员表 where 登录账号= & Trim(Text1.Text) & SqlConnect Ado_Conn, Ado_RS, str_CS, str_RS Ado_Conn.Execute backup
20、 database 人事管理系统 to disk= & Text1.Text & MsgBox 已保存到 & Text1.Text & 。备份成功。, vbInformation, 备份成功 SqlDisConnect Ado_RSEnd SubPrivate Sub Command3_Click()On Error Resume Next CommonDialog2.CancelError = True CommonDialog2.ShowOpen If Err = cdlCancel Then Exit Sub Text2.Text = CommonDialog2.FileNameEnd
21、SubPrivate Sub Command4_Click() 连接数据库 Set Ado_Conn = New ADODB.Connection Set Ado_RS = New ADODB.Recordset str_CS = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=人事管理系统;Data Source=FREESKYC-FD1640 str_RS = select * from 管理员表 where 登录账号= & Trim(Text1.Text) &
22、 SqlConnect Ado_Conn, Ado_RS, str_CS, str_RS Ado_Conn.Execute use master Ado_Conn.Execute restore database 人事管理系统 from disk= & Text2.Text & MsgBox 已恢复数据库。, vbInformation, 恢复成功 SqlDisConnect Ado_RSEnd SubPrivate Sub Command5_Click()Unload MeEnd SubPrivate Sub Command6_Click() SureExitEnd Sub4,查询Priva
23、te Sub Command1_Click()Dim txtsql As Stringtxtsql = select * from 工资表 where If Option1.Value Then Text1 = Text2 = txtsql = select * from 工资表End IfIf Option2.Value ThenText2 = txtsql = txtsql & 编号 like & Trim(Text1.Text) & % End IfIf Option3.Value ThenText1 = txtsql = txtsql & 姓名 like & Trim(Text2.Te
24、xt) & % End IfAdodc1.RecordSource = txtsqlAdodc1.RefreshEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub七、 组分工及设计体会本小组由xx、xx两人组成。在初期,我们一起讨论并使用SQL sever建立了基本数据库,对前端的控制设计进行了功能分类;并经讨论使用VB.net进行数据库连接。经过这次数据库课程设计,我觉得遇到的困难很多,做课程设计时明显感觉平时学到的东西不够。例如,在建立关系图的时候,由于每个表中的主码名称一样,但意义不统一,所以造成课设初期无法建立关系图。在画E-R图的时候,我们曾经讨论过是用属性表示某个对象恰当,还是用实体集表示更为恰当;还分析了是否使用一般化。总结人事管理系统的功能使我对整个数据库系统有了全面的了解,使各部分能够联系起来,不在是单独的几块内容。此次课程设计不仅考验了我的数据库系统的概念和数据库的设计,而且更加检验了我使用VB的熟练程度。比如说属性的修改等等。通过此次课程设计,我的一些知识运用的熟练程度得到了提高,进一步了解了数据库的结构特点和设计过程。最后,还要感谢在此过程中帮助过我们的王老师!