1、数据库企业人事管理系统Xxxxxxxxxxxxx课程设计报告设计名称: 数据库原理及应用课程设计 姓 名: xx 学 号: xxxxxxx 专业班级: xxxx 系 (院): xxxxxxx 设计地点: xxxxxxxx 成绩:指导教师评语: 签名: 年 月 日一、概述1.1本课题的来源在企业中,人事管理工作是非常重要的一项工作,它负责整个企业的日常人事安排,人员的人事管理等。高效的人事管理可以提高企业的市场竞争力,使企业具有更强的凝聚力和活力。人事管理系统是一个面向企业人事部门工作人员,为其提供服务的综合信息管理系统人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。员工的个人
2、信息等等都记录在人事系统里进行管理。 企业下设人事部门,全权处理企业内部一切人事事务。 人事档案登记过程,员工在人事部门领取个人简历、家庭成员、社会关系、个人基本资料四式一份的表格,然后填写,填写完毕交回人事部门,由人事部门的档案管理组进行审核,审核不合格的发回重新填写,合格的以原始资料存档,并据以填写职工人事卡片。 人事档案统计过程,人事部门调查分析组按管理组提供的员工人事卡片统计各种所需的数据,然后填写所对应的统计报表,该统计报表一式两份,然后做出分析后,连同一份统计报表上交上一级主管部门,另一份统计报表存档备查。如发生企业内部人员调动、升职、降职、或添加职工和开除职工等情况时,只需修改、
3、添加和删除相应的人事卡片,其余过程同上。 人事部门将收集到员工人事信息统一进行审核。审核过程中,人事信息需要所有审核人员通过,方可录入系统数据库。如信息有误,需要返回给员工进行重新填写或修改。在企业中,人事管理工作是非常重要的一项工作,它负责整个企业的日常人事安排,人员的人事管理等。高效的人事管理可以提高企业的市场竞争力,使企业具有更强的凝聚力和活力。为此,提高人事管理工作的效率,设计一套人事管理系统具有实际应用意义。 本文以Delphi和SQLServer2000为开发工具,设计实现了一套基于B/S模式的中小企业人事管理系统。在文中,首先分析了企业人事管理工作以及工作流程,根据分析结果设计了
4、该系统应具有的功能;其次,对系统的各个功能模块进行了详细的描述,包括用户登录模块、留言板模块、人事部门信息发布模块、系统设置模块、员工管理模块、员工自助模块和操作记录模块;最后结合系统开发阶段和测试阶段中发现的问题以及解决问题的方法,总结了开发此系统所取得的经验和体会。1.2、本课程设计的目的、内容及作者主要贡献(1)目的:目前市面上流行的人事管理系统不少。但是,对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。(2)内容:能够录入人事的基本资料,
5、在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。(3)作者的主要贡献:本人独立完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。二、需求分析2.1技术可行性:本系统使用的是Delphi实现的。可以自由使用人事工资信息分类,自由赋予用户权限,根据需要灵活使用模版。可以提供给各种场合的信息,人事工资。根据用户的要求,分析其特点,在经济上本项目是可行的,采集,编辑,发布,人员不需要专业的编程知识就可以快速高效地发布高校办公信息。这样加快了信息发布速度,减少了人力的开销,缩短了从采集到发布的时间周期,从
6、而提高了服务的质量,而且由于管理周期缩短和人力开销的减少,可以在高校信息化中获得更多的好处。 2.2 经济可行性:系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了数据的流通环节,提高了工作效率,保证了各项数据的准确性,避免了工作人员的流动造成的收据丢失等问题。因此,从长远的收益来看,经济上完全可行。基于以上分析,系统实现是可行的。2.3业务需求分析: 普通员工可以根据自己的工号来进行查询自己的一些基本信息,管理员可以能够录入人事的基本
7、资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。2.4功能需求分析:2.4.1 支持企业实现规范化的管理。2.4.2 支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。2.4.3 支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘的人数等。 三、系统设计3.1概念设计在概念设计中首先要画好ER图,是很重要的一步,对于ER图我们4项基本原则,分别是:原则1 (确定实体):能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等
8、,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。原则2 (确定联系):两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。原则3 (确定属性):实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。原则4(一事一地):信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。 下面是本次课程设计的系统E-R图如下所示:各个实体ER图:管理员:普通员工:本系统由五大
9、模块组成,即系统,员工基本信息,员工考勤信息,员工调动信息。如下图: 系统流程图:3.2逻辑设计:3.2.1 关系模式:职工(职工号,职工,姓名,职工性别,所在部门,职工年龄,基本工资,婚否,简历)管理员(管理员名,密码)下面是创建一个叫企业人事管理的数据库语言:create table 企业人事管理(职工编号 int primary key not null,职工姓名 char(20) not null,职工性别 char(2) not null,所在部门 char(20) not null,职工年龄 int not null,基本工资 int not null,婚否 char(4) not
10、 null,简历 char(16) not null,);3.2.2数据表:表设计的好坏会直接影响系统的稳定性、可扩展性、可实现性。在每一个表中,设置“职工号“为主键,作为记录的唯一标识。以下的属性类型中 CHARACTER 代表变长字符串,括号内的数字代表长度上限 NUMERIC 代表整型,括号内的数字代表长度上限 DATA 代表日期类型 例:2010-4-20员工基础资料表: 属 性 数据类型 可否为空 职工编号 numeric (4) NOT NULL 所在部门 character(8) NULL 职工姓名 character(6) NOT NULL 职工性别 character(2)
11、NULL 现任职务 character(10) NULL 婚姻状况 character(4) NULL 职工年龄 numeric (4) NULL 简 历 char(16) NOT NULL 数据库中表截图如下:四、系统实现4.1 数据库实现结合Delphi进行数据库应用开发的特点,设计过程可按如下步骤进行:主要开发步骤:(1) 在Windows开始菜单中执行“所有程序|Microsoft SQL Server|企业管理器”命令,进入“SQL Server Enterprise Manager企业管理器”界面,在SQL Server Enterprise Manager界面中展开SQL Ser
12、ver组,再展开数据库项,选择要建表的数据库“企业人事管理”,在“视图”选项上右击鼠标,弹出的快捷菜单。(2)在“SQL Server Enterprise Manager企业管理器”中创建好的“企业人事管理”数据库中附加添加表“企业人事管理”,截图如下:(3)在Windows开始菜单中执行“控制面板”里的“管理工具”中创建一个“ODBC数据源”来实现前台界面与数据库的联系。(4)通过“Delphi”打开“Unit4.pas”中进行数据源的连接。4.2 前台程序设计4.2.1 系统登陆界面 此模块是员工登陆后的选择界面,是其他模块连接的地方:其代码如下:unit Unit4;interface
13、uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB;type TForm4 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; ComboBox1: TComboBox; Button1: TButton; Button2: TButton; ADOQuery1: TADOQuery; DataSource1: TDataSource
14、; ADOConnection1: TADOConnection; procedure ComboBox1Change(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form4: TForm4;implementationuses unit1;$R *.dfmprocedure TForm4.ComboBox1Cha
15、nge(Sender: TObject);begin if ComboBox1.ItemIndex -1 then button1.Enabled := true;end;procedure TForm4.Button2Click(Sender: TObject);begin form4.Close;end;procedure TForm4.Button1Click(Sender: TObject);begin if (edit1.Text = ) or (edit2.Text = ) then showmessage(用户名或密码不能为空!); if combobox1.ItemIndex
16、= 0 then begin adoquery1.SQL.Clear; ADOQuery1.SQL.Add(select * from manage where users= :s1 and passwd= :s2 and type=0); ADOQuery1.Parameters.ParamByName(s1).Value:=edit1.Text; ADOQuery1.Parameters.ParamByName(s2).Value:=edit2.Text; ADOQuery1.Open; if (ADOQuery1.Eof = true) and (ADOQuery1.Bof = true
17、) then begin showmessage(用户名或密码错误!请重新输入!); end else begin form1.GroupBox1.Visible:= false; form1.GroupBox2.Left := 200; form1.Button1.Visible := false; form1.Button2.Visible := false; form1.BitBtn1.Visible := false; form1.Edit1.Visible := false; form1.Label1.Visible := false; edit1.Clear; edit2.Clea
18、r; form4.Hide; form1.Show; end end; if combobox1.ItemIndex = 1 then begin adoquery1.SQL.Clear; ADOQuery1.SQL.Add(select * from manage where users= :s1 and passwd= :s2 and type=1); ADOQuery1.Parameters.ParamByName(s1).Value:=edit1.Text; ADOQuery1.Parameters.ParamByName(s2).Value:=edit2.Text; ADOQuery
19、1.Open; if (ADOQuery1.Eof = true) and (ADOQuery1.Bof = true) then begin showmessage(用户名或密码错误!请重新输入!); end else begin form1.GroupBox1.Visible:= true; form1.GroupBox2.Left := 24; form1.Button1.Visible := true; form1.Button2.Visible := true; form1.BitBtn1.Visible := true; form1.Edit1.Visible := true; f
20、orm1.Label1.Visible := true; edit1.Clear; edit2.Clear; form4.Hide; form1.Show; end end;end;end.4.2.2员工基本信息更新这个模块主要用于员工基本信息的更新:可以根据以下条件提供添加、删除、修改功能:根据人事卡片编辑;根据家庭成员表编辑;根据社会关系表编辑。部分代码如下:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, Grid
21、s, DBGrids, DBTables, StdCtrls, Buttons, ADODB, DBClient, MConnect;type TForm1 = class(TForm) DBGrid1: TDBGrid; DataSource1: TDataSource; ADOQuery1: TADOQuery; GroupBox2: TGroupBox; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; GroupBox1: TGroupBox;
22、BitBtn5: TBitBtn; ADOConnection1: TADOConnection; Button1: TButton; Button2: TButton; procedure BitBtn5Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure
23、 FormClose(Sender: TObject; var Action: TCloseAction); procedure Edit1Change(Sender: TObject); procedure Edit2Change(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementationuses Unit2, Unit3,unit4;$R *.dfmprocedure TForm1.BitBtn5Click(Sender: TOb
24、ject);beginADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 企业人事管理);ADOQuery1.Active:=true;end;procedure TForm1.BitBtn2Click(Sender: TObject);beginADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 企业人事管理 where 职工编号 like :s1);ADOQuery1.Parameters.ParamByName(s1).Value:=edit2.Text;ADOQuery1.Activ
25、e:=true;end;procedure TForm1.BitBtn1Click(Sender: TObject);var k:integer;beginif ADOQuery1.Locate(职工编号,edit1.Text,) thenbegink:=MessageDlg(确定删除吗?,mtconfirmation,mbyes,mbno,0);if k=mryes thenbeginADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(DELETE from 企业人事管理 where 职工编号 like :s1);ADOQuery1.Parameters.ParamB
26、yName(s1).Value:=edit1.Text;ADOQuery1.ExecSQL;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from 企业人事管理 );ADOQuery1.Open;edit1.Text:=;endendelse showmessage(无此职工!请查证!);end;procedure TForm1.Button1Click(Sender: TObject);beginform1.Hide;form2.Show;end;procedure TForm1.Button2Click(Sender: TObject);be
27、ginform1.Hide;form3.Show;end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);begin form1.Hide; form4.Show;end;procedure TForm1.Edit1Change(Sender: TObject);begin if edit1.Text = then bitbtn1.Enabled := false else bitbtn1.Enabled := true;end;procedure TForm1.Edit2Change(Sender:
28、TObject);begin if edit2.Text = then bitbtn2.Enabled := false else bitbtn2.Enabled := true;end;end.选择“增加”后出现下图:这个操作记录可以进行企业人事添加,删除,保存等操作,完成员工基本信息的更新操作。4.2.3员工基本信息查询此模块用于对员工基础资料方便的查询功能: 可以根据提供条件进行模糊查询,包括逐条查询、浏览字段和全局查询等功能。管理员还可以点击“删除”进行对数据库中的职工信息去掉。管理员还可以通过“修改”来对数据库的职工信息进行修改,来实现员工信息的实时跟新。执行部分代码如下:unit
29、Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls;type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Button1: TButton; But
30、ton2: TButton; ADOQuery2: TADOQuery; DataSource1: TDataSource; ADOQuery2DSDesigner: TIntegerField; ADOQuery2DSDesigner2: TStringField; ADOQuery2DSDesigner3: TStringField; ADOQuery2DSDesigner4: TStringField; ADOQuery2DSDesigner5: TIntegerField; ADOQuery2DSDesigner6: TIntegerField; ADOQuery2DSDesigner7: TStringField; ADOQuery2DSDesigner8: TStringField; Label9: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1