1、人事管理系统课设报告数据库课程设计报告课 题:设计时钟显示程序 指导老师:郭胜 曹海泉 学 校:华中科技大学文华学院 学 部:信息科学与技术学部 专业班级:09软件工程 学 号: 姓 名: 人事管理系统1、 设计题目:人事管理系统系统功能:员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、奖惩等;员工各种信息的修改;简单明了的人事管理系统.能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按条件进行查询,员工工资的管理,基本满足人事日常业务的需要2、 需求分析21世纪最激烈的竞争当属人才的竞争,一个具有多学科知识的复合性人才或许是一个企业发展壮大所不可或缺的重要
2、因素。因此,企业人事管理工作的好坏不但可以直接影响到企业的人力资源管理,而且会间接的影响到企业整体管理。随着社会的发展,科技的进步,计算机的应用在社会各领域中都得到了普及,越来越多的人都感受到利用计算机进行各类管理的科学和便捷;认识到管理信息系统对于管理工作的重要性。利用计算机对企业人事进行管理是必然趋势,人事管理系统是企业管理工作中不可缺少的。所以在这次课程设计中,我选择开发人事管理系统。人事管理系统的功能主要有增加记录,删除记录,筛选记录,排序记录。这就要求它应该能够为用户提供有好美观的窗口界面、充足可靠的信息数据、简单方便的维护手段和灵活多变的查询方式以及快捷而准确的查询结果。所以,对于
3、人事管理系统的设计主要包括数据库的建立、维护以及应用程序的开发两个方面。对于前者而言要求建立起数据一致性及完整性强、数据安全性好的数据库。对于后者而言则要求具备应用程序功能全,易使用等,运行稳定等特点。因此,我选用的开发软件是Microsoft 公司出品的Visual basic。3、 开发工具 SQLsever 2000 VISUAL BASIC4、 系统功能设计(1) 系统总体功能模块图(2)ODBC数据库连接 图3-1 硬件连接(3)E-R图部门-任职-员工-考勤-工资 5、 部分源代码(数据库部分)use mastergoif exists (select * from dbo.sys
4、databases where name = Personnel) drop database PersonnelGOcreate database Personnelgouse Personnelgoif exists (select * from dbo.sysobjects where id = object_id(Ndbo.annuities) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.annuitiesGOif exists (select * from dbo.sysobjects where id = obje
5、ct_id(Ndbo.checkin) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.checkinGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.manappraise) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.manappraiseGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.m
6、anrecord) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.manrecordGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.medical) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.medicalGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.pay) and OBJECTPR
7、OPERTY(id, NIsUserTable) = 1)drop table dbo.payGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.payrecord) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.payrecordGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.paytune) and OBJECTPROPERTY(id, NIsUserTa
8、ble) = 1)drop table dbo.paytuneGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.room) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.roomGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.user_Info1) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo
9、.user_Info1GOCREATE TABLE dbo.annuities ( jjid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , jjname varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , jjbase numeric(10, 2) NULL , jjrate1 numeric(6, 4) NULL , jjoffice numeric(8, 2) NULL , jjrate2 numeric(6, 4) NULL , jjown numeric(8, 2) NULL , jjr
10、ate3 numeric(6, 4) NULL , jjsociety numeric(8, 2) NULL , jjindivi numeric(8, 2) NULL , jjfill numeric(8, 2) NULL , jjdate datetime NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.checkin ( kqid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , kqname varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , kqdate d
11、atetime NOT NULL , kqdays bigint NOT NULL , kqrday numeric(2, 0) NULL , kqtday numeric(2, 0) NOT NULL , kqwork numeric(2, 0) NOT NULL , kqabsent numeric(2, 0) NULL , kqrest numeric(2, 0) NULL , kqleave numeric(2, 0) NULL , kqlate numeric(2, 0) NULL , kqearly numeric(2, 0) NULL , kqforget numeric(2,
12、0) NULL , kqover1 numeric(2, 0) NULL , kqvoer2 numeric(2, 0) NULL , kqfill numeric(2, 0) NULL , kqgo numeric(2, 0) NULL , kqpay numeric(8, 2) NULL , kqdeduct numeric(8, 2) NULL , kqother varchar (20) COLLATE Chinese_PRC_CI_AS NULL , kqremark text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE
13、_ON PRIMARYGOCREATE TABLE dbo.manappraise ( pjdept varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , pjname varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , pjno char (14) COLLATE Chinese_PRC_CI_AS NOT NULL , pjid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , pjdate datetime NOT NULL , pjresult
14、varchar (40) COLLATE Chinese_PRC_CI_AS NULL , pjposition varchar (40) COLLATE Chinese_PRC_CI_AS NULL , pjlevel varchar (50) COLLATE Chinese_PRC_CI_AS NULL , pjremark text COLLATE Chinese_PRC_CI_AS NULL , pjother1 varchar (50) COLLATE Chinese_PRC_CI_AS NULL , pjother2 varchar (50) COLLATE Chinese_PRC
15、_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYGOCREATE TABLE dbo.manrecord ( ygid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , ygname varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , ygdept varchar (20) COLLATE Chinese_PRC_CI_AS NULL , ygsex varchar (2) COLLATE Chinese_PRC_CI_AS NULL , ygbirthda
16、y datetime NULL , ygplace varchar (40) COLLATE Chinese_PRC_CI_AS NULL , yglevel varchar (10) COLLATE Chinese_PRC_CI_AS NULL , ygspecial varchar (20) COLLATE Chinese_PRC_CI_AS NULL , ygdate1 datetime NULL , ygdate2 datetime NULL , ygbusi varchar (12) COLLATE Chinese_PRC_CI_AS NULL , ygdate3 datetime
17、NULL , ygstatus varchar (12) COLLATE Chinese_PRC_CI_AS NULL , ygoffice varchar (30) COLLATE Chinese_PRC_CI_AS NULL , ygduty varchar (10) COLLATE Chinese_PRC_CI_AS NULL , ygdate4 datetime NULL , ygdate5 datetime NULL , ygdate6 datetime NULL , ygno varchar (8) COLLATE Chinese_PRC_CI_AS NULL , ygremark
18、1 text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYGOCREATE TABLE dbo.medical ( ylid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , ylname varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , ylbase numeric(10, 2) NULL , ylrate1 numeric(6, 4) NULL , yloffice numeric(8, 2) NULL , y
19、lrate2 numeric(6, 4) NULL , ylown numeric(8, 2) NULL , ylrate3 numeric(6, 4) NULL , ylsociety numeric(8, 2) NULL , ylindivi numeric(8, 2) NULL , ylfill numeric(8, 2) NULL , yldate datetime NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.pay ( gzid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , gzname varc
20、har (10) COLLATE Chinese_PRC_CI_AS NOT NULL , gzbase numeric(8, 2) NOT NULL , gzall numeric(8, 2) NULL , gzbonus numeric(8, 2) NULL , gzpay numeric(8, 2) NULL , gzdeduct numeric(8, 2) NULL , gzage numeric(8, 2) NULL , gzmedical numeric(8, 2) NULL , gzhouse1 numeric(8, 2) NULL , gztotal numeric(8, 2)
21、 NULL , gzduty numeric(8, 2) NULL , gzhouse2 numeric(8, 2) NULL , gzhouse3 numeric(8, 2) NULL , gzlaborage numeric(8, 2) NOT NULL , gzdate datetime NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.payrecord ( lzid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , lzname varchar (10) COLLATE Chinese_PRC_CI_AS
22、NOT NULL , lzlevel varchar (2) COLLATE Chinese_PRC_CI_AS NOT NULL , lzbase numeric(8, 2) NOT NULL , lzbonus numeric(8, 2) NOT NULL ) ON PRIMARYGOCREATE TABLE dbo.paytune ( tzid varchar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , tzname varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , tzlevel varchar (
23、8) COLLATE Chinese_PRC_CI_AS NOT NULL , tzbase numeric(8, 2) NOT NULL , tzbonus numeric(8, 2) NOT NULL , tzdate datetime NOT NULL , tzother varchar (20) COLLATE Chinese_PRC_CI_AS NULL , tzremark text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYGOCREATE TABLE dbo.room ( zfid varch
24、ar (8) COLLATE Chinese_PRC_CI_AS NOT NULL , zfname varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL , zfbase numeric(10, 2) NULL , zfrate1 numeric(6, 4) NULL , zfoffice numeric(8, 2) NULL , zfrate2 numeric(6, 4) NULL , zfown numeric(8, 2) NULL , zfdate datetime NOT NULL ) ON PRIMARYGOCREATE TABLE dbo
25、.user_Info1 ( user_ID char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , user_PWD char (10) COLLATE Chinese_PRC_CI_AS NULL , user_Des char (10) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGO5、运行结果截图6、 总结在这次设计中主要运用了VB和SQLsever的创建。我采用的是用ODBC来使用应程序访问数据库。主要实现了添加、删除、筛选、排序、工资管理等基本功能,已经是一个基本的人事管理系统了。在添加功能实现过程中:系统自动生成职工编号;管理员可以添加职工的基本信息,包括姓名、性别、年龄、学历等;而且我在原来基础上稍做修改,避免出现职工编号相同的问题,同时实现了添加记录自动刷新功能。当然,这个程序还有缺陷,如功能过于简单,还有一个最主要的是经过筛选后就不能进行增加、删除和排序的功能。这次课程设计提高了我实践操作能力,但仍需要以后多多努力!