《数据库课程设计——人事管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计——人事管理系统.doc(13页珍藏版)》请在三一办公上搜索。
1、人事管理系统 目录一、摘要.3二、前言 3三、系统设计 33.1设计思想33.2 系统功能分析3 3.3 系统总体功能模块设计4四、数据库设计44.1 数据库需求分析44.2数据库概念结构设计5(1)分E-R图5 (2)总E-R图74.3 数据库逻辑结构设计7(1).E-R图转化为关系模型7(2) 2.各关系模型的表8五、数据库源码105.1建立数据库MM105.2建立了数据库的各基本表及各表的主、外键设置115.3对各表的完整性等进行设置13六、运行平台.14七、总结.14一、摘要为了完善全面的人事管理功能,使人事企业管理流程合理化和自动化处理和分析各种有价值的信息,以支持决策者制定人事企业
2、管理战略发展计划。该系统采用了SQLServer2000数据库开发环境,使用专用数据库接口连接,其存取速度快、安全性好,便于管理和操作。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事管理全过程,包括员工的基本信息、学历信息、婚姻状况、考勤信息、工资信息、 员工各种信息的修改 、对于转出、辞职、退休员工信息的删除等管理工作。经过实际使用证明,该文所设计的人事管理系统可以满足公司人事管理方面的需要。二、前言随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事档案的管理势在必行。当前企业信息管理系统正在从C/S结构向B/S结构转移,但是由于安全性等方
3、面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。 人事管理系统可以用于支持企业完成劳动人事管理工作,有如下3个方面的目标。1. 支持企业实现规范化的管理。 2. 支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。 3. 支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘的人数等。三、系统设计3.1设计思想尽量采用学校现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用
4、学校现有资源,提高系统开发水平和应用的目的。 1. 系统应符合学校人事管理的规定,满足学校日常人事管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。 2. 系统采用C/S体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。系统分析等前期工作应尽量详细完善,以便学校以后体系结构的改变,对于一些安全性要求不高的信息可以方便地采用Brower/Server的方式进行访问。 3. 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。 4. 系统应具备数据库维护功能
5、,及时根据用户需求进行数据的添加、删除、修改、备份等操作。3.2 系统功能分析该系统需要完成如下功能: 1. 员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况、考勤信息、工资信息。 2. 员工各种信息的修改。 3. 对于转出、辞职、退休员工信息的删除。 4. 按照某种条件,查询统计符合条件的员工信息。 5. 对查询、统计的结果打印输出。 6. 人事系统的使用帮助。3.3 系统总体功能模块设计系统总体功能模块包括员工基本情况、工作部门信息、员工职称信息、员工婚姻状况、员工学历信息、员工考勤管理、员工工资管理等7个模块,其模块的结构图如下:数据库应用程序员工基本情况员工婚姻状况员工学历信
6、息员工考勤管理员工工资管理员工职称信息工作部门信息用户登录及身份验证四、数据库设计数据库结构设计的好坏将直接对应用系统的效率以及与实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度等等。4.1 数据库需求分析1. 员工基本情况。包括的数据项有员工号、员工姓名、性别、身份证号、生日、籍贯、民族、政治面貌、血型、家庭住址、联系电话。2. 工作部门信息。包括的数据项有部门号、部门名称、部门地址。3. 员工职称信息。包括的数据项有职称号、职称名称。4. 员工婚姻状况。包括的数据项有员工号、爱人代号、爱人姓名、爱人籍贯、爱人民族、出生日期、工作
7、单位、政治面貌、工作职称。5. 员工学历信息。包括的数据项有员工号、学位证书编号、学历、专业、毕业时间、毕业院校。 6. 员工考勤信息。包括的数据项有员工号、员工姓名、日期,本月天数,公休假天数,应出勤天数,请假,节假日加班,其它加班。7. 员工工资信息。包括的数据项有员工号,姓名,底薪,补贴,奖金,加班费,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,实发工资。4.2数据库概念结构设计根据以上分析规划出的实体有:员工实体、部门实体、职称实体、爱人实体、学历实体、考勤实体、工资实体。员工实体E-R图员工员工号员工姓名性别身份证号籍贯出生日期血型政治面貌民族联系电话家庭住址联系电话部门实体E
8、-R图部门部门号部门名部门地址职称实体E-R图职称职称号职称名爱人实体E-R图爱人爱人姓名工作单位工作职称籍贯出生日期政治面貌民族爱人代号学历实体E-R图学历毕业院校学历毕业时间专业学位证书编号考勤实体E-R图考勤员工姓名应出勤天数公休假天数日期请假节假日加班本月天数工资实体E-R图工资员工姓名代扣医疗保险公休假天数补贴底薪加班费代扣养老金奖金代扣住房公积金所得税实发工资总体E-R图拥有职称员工工作部门m1n1拥有学历工资获得结婚爱人存在考勤m1m1m1111参加工作时间结婚时间4.3 数据库逻辑结构设计1.E-R图转化为关系模型(黑色直下划线表示主键)员工(员工号、员工姓名、性别、身份证号、
9、生日、籍贯、民族、健康状况、政治面貌、血型、家庭住址、联系电话)部门(部门号、员工号、部门名称、部门地址、参加工作时间)职称(职称号、员工号、职称名称)爱人(爱人代号、员工号、爱人姓名、爱人籍贯、爱人民族、出生日期、结婚时间、工作单位、政治面貌、工作职称)学历(学位证书编号、员工号、学历、专业、毕业时间、毕业院校)考勤(员工号、日期、员工姓名、本月天数、公休假天数、应出勤天数、请假、节假日加班、其它加班)工资(员工号,姓名,底薪,补贴,奖金,加班费,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,实发工资)2.各关系模型的表表一 EMPLOYEE员工表列名数据类型及长度可否为空说明ENOCH
10、AR(6)NOT NULL员工号(主键)ENAMEVARCHAR(10)NULL员工姓名EGENDERVARCHAR(2)NULL性别EBIRTHDAYDATENULL出生日期EHOMETOWNVARCHAR(8)NULL籍贯ENATIONVARCHAR(10)NULL民族EIDCHAR(2)NULL身份证号EHEALTHVARCHAR(20)NULL健康状况EZZMMVARCHAR(4)NULL政治面貌EBLOODVARCHAR(2)NULL血型EHOMEADRESSVARCHAR(10)NULL家庭住址ETELENOCHAR(10)NULL联系电话表二DEPARTMENT部门表列名数据类型
11、及长度可否为空说明ENOCHAR(6)NOT NULL员工号(外键)DNOCHAR(6)NOT NULL部门号(主键)DNAMEVARCHAR(10)NULL部门名称DADDVARCHAR(20)NULL部门地址DTIMEDATENULL参加工作时间表三FUNCTION职称表列名数据类型及长度可否为空说明FNOCHAR(6)NOT NULL职称号(主键)FNAMEVARCHAR(10)NULL职称名称ENOCHAR(6)NOT NULL员工号(外键)表四 MARRIAGE婚姻表 ENOCHAR(6)NOT NULL员工号(外键)LNOCHAR(6)NOT NULL爱人代号(主键)LNAMEVA
12、RCHAR(10)NULL爱人姓名LHOMETOWNVARCHAR(8)NULL爱人籍贯LNATIONVARCHAR(10)NULL爱人民族LBIRTHDAYDATENULL出生日期MARRIAGEDATEDATENULL结婚时间LCOMPANYVARCHAR(20)NULL工作单位LZZMMVARCHAR(4)NULL政治面貌LJOBVARCHAR(10)NULL工作职称表五SCHOOL学历表列名数据类型及长度可否为空说明ENOCHAR(6)NOT NULL员工号(外键)DEGREENOCHAR(15)NOT NULL学位证书编号(主键)XLCHAR(6)NULL学历MAJORVARCHAR
13、(10)NULL专业BYDATEDATENULL毕业时间BYSCHOOLVARCHAR(20)NULL毕业院校表六CHECKIN考勤表列名数据类型及长度可否为空说明ENOCHAR(6)NOT NULL员工号(外键)ENAMEVARCHAR(10)NULL员工姓名EDATEDATENULL日期EDAYSCHAR(3)NULL本月天数ERDAYCHAR(3)NULL公休假天数ETDAYCHAR(3)NULL应出勤天数ELEAVECHAR(3)NULL请假EOVER1CHAR(3)NULL节假日加班EOVER2CHAR(3)NULL其它加班表七PAYS工资表列名数据类型及长度可否为空说明ENOCHA
14、R(6)NOT NULL员工号(外键)ENAMEVARCHAR(10)NULL员工姓名LEASTPAYSINTNOT NULL底薪BUTIEINTNULL补贴PRIZEINTNULL奖金DOUBLINGPAYSINTNULL加班费DKANNUITYINTNULL代扣养老金DKYLINSURANCEINTNULL代扣医疗保险DKZFGJJINTNULL代扣住房公积金INCOMETAXINTNULL所得税FACTPAYSINTNULL实发工资五、数据库源码5.1建立数据库MM(men_management system人事管理系统) create database mmon(name=mmdat,
15、 filename=E:StudySQLmydatammdat.mdf, size=100, maxsize=300, filegrowth=10)log on(name=mmlog, filename=E:StudySQLmydatammdat.ldf, size=50, maxsize=150, filegrowth=10%)5.2建立了数据库的各基本表及各表的主、外键设置建立EMPLOYEE员工表:use mmgocreate table employee(eno char(6) not null primary key,-员工号ename varchar(10),-员工姓名egende
16、r varchar(2),-性别ebirthday datetime,-出生日期ehometown varchar(8),-籍贯enation varchar(10),-民族eid char(2),-身份证号ehealth varchar(20),-健康状况ezzmm char(4),-政治面貌eblood varchar(2),-血型ehomeadress varchar(10),-家庭住址etelend char(10)-联系电话1. 建立DEPARTMENT部门表use mmgocreate table department(eno char(6) not null,-员工号dno ch
17、ar(6) not null primary key,-部门号dname varchar(10),-部门名称dadd varchar(20),-部门地址dtime datetime,-参加工作时间foreign key(eno)references employee(eno)2. 建立FUNCTION职称表use mmgocreate table function(fno char(6) primary key,-职称号fname varchar(10),-职称名称eno char(6),-员工号foreign key(eno) references employee(eno)3. 建立MAR
18、RIAGE婚姻表use mmgocreate table marriage(eno char(6) not null,-员工号lno char(6) not null primary key,-爱人代号lname varchar(10),-爱人姓名lhometown varchar(8),-爱人籍贯lnatiom varchar(10),-爱人民族lbirthday datetime,-出生日期marriagedate datetime,-结婚时间lcompany varchar(20),-工作单位lzzmm varchar(4),-政治面貌ljob varchar(10),-工作职称fore
19、ign key(eno) references employee(eno)4. 建立SCHOOL学历表use mmgocreate table school(eno char(6),-员工号degreeno char(15) primary key,-学位证书编号xl char(6),-学历majob varchar(10),-专业bydate datetime,-毕业时间byschool varchar(20),-毕业院校foreign key(eno) references employee(eno)5. 建立CHECKIN考勤表use mmgocreate table checkin(
20、eno char(6) not null,-员工号ename varchar(10),-员工名称edate datetime,-日期edays char(3),-本月天数erday char(3),-公休假天数etday char(3),-应出勤天数eleave char(3),-请假eover1 char(3),-节假日加班eover2 char(3),-其它加班foreign key(eno) references employee(eno)6. 建立PAYS工资表use mmgocreate table pays( eno char(6) not null,-员工号ename varch
21、ar(10),-员工姓名leastpays int not null,-底薪butie int,-补贴prize int,-奖金doublingpays int,-加班费dkannuity int,-代扣养老金dkulinsurance int,-代扣医疗保险dkzfgjj int,-代扣住房公积金incometax int,-所得税factpays int,-实发工资foreign key(eno) references employee(eno)5.3对各表的完整性等进行设置对employee表中的egender列进行核查约束:alter table employeeadd check(e
22、gender=男 or egender=女 )对pays表中的leastpays列进行默认值设置:create default def_leastpaysas 800gosp_bindefault def_leastpays, pays.leastpays对employee表中的enation列进行默认值设置create default def_enationas 汉 gosp_bindefault def_enation,employee.enation对pays表中的factpays进行索引设置:use mmgo create unique clustered index factpays
23、_ind on pays(factpays)在employee和pays表上建立视图:create view empay_viewasselect employee.eno ,employee.ename,pays.factpaysfrom employee,payswhere employee.eno=pays.eno建立存储过程use mmgoif exists (select name from sysobjects where name=worker and type =p)drop procedure workergocreate procedure workerasselect j
24、.eno,j.ename,x.dno,x.dname,y.fno,y.fnamefrom department as x join employee as j on j.eno=x.eno join function as y on x.eno=y.eno建立触发器 create trigger tr_ehealth_update on employeefor updateasif update(ehealth) print数据已更新elseprint数据没有更新六、运行平台SQL SERVER 2000 个人版Windows xp 操作系统Transact_SQL 语言具体操作如下:首先进入
25、SQL Server 2000 ,打开服务管理器,然后进入企业管理器,查询分析器,弹出一窗口,然后输入Transact-SQL语句,执行即可!七、总结 这次数据库课程设计经历了从选题、目录、摘要、前言、系统设计、需求分析到E-R图设计,再到关系模型设计,最后建立数据库。在这其中我们组的每个成员通过查阅相关书籍,分工合作,进行了很多次大大小小的扩充和修改,使数据库结构和内容更趋于完善。通过这次课程设计,我收益颇丰,感受深刻。虽然我们这次做的设计可能不够好,但是为我对以后的数据库设计打下了很好的基础。在做这次课程设计的过程中,我们每个人都很努力,虽然当中我们有过争执与吵闹,但是最终我们达成了共识并且顺利地完成了此次工作。