《数据库课程设计——人事管理系统.pdf》由会员分享,可在线阅读,更多相关《数据库课程设计——人事管理系统.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人事管理系统人事管理系统目录目录一、摘要一、摘要.3.3二、前言二、前言 3 3三、系统设计三、系统设计 3 33.13.1 设计思想设计思想3 33.23.2 系统功能分析系统功能分析3 3 3.3 3.3 系统总体功能模块设计系统总体功能模块设计4 4四、数据库设计四、数据库设计4 44.14.1 数据库需求分析数据库需求分析4 44.24.2 数据库概念结构设计数据库概念结构设计5 5(1)(1)分分 E-RE-R 图图5 5(2)(2)总总 E-RE-R 图图7 74.34.3 数据库逻辑结构设计数据库逻辑结构设计7 7(1)(1).E-R.E-R 图转化为关系模型图转化为关系模型7
2、7(2)(2)2.2.各关系模型的表各关系模型的表8 8五、数据库源码五、数据库源码10 105.15.1 建立数据库建立数据库 MMMM10 105.25.2 建立了数据库的各基本表及各表的主、外键设置建立了数据库的各基本表及各表的主、外键设置11 115.35.3 对各表的完整性等进行设置对各表的完整性等进行设置13 13六、运行平台六、运行平台.14.14七、总结七、总结.14.14一、摘要一、摘要为了完善全面的人事管理功能,使人事企业管理流程合理化和自动化处理和分析各种有价值的信息,以支持决策者制定人事企业管理战略发展计划。该系统采用了 SQLServer2000数据库开发环境,使用专
3、用数据库接口连接,其存取速度快、安全性好,便于管理和操作。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事管理全过程,包括职工的基本信息、学历信息、婚姻状况、考勤信息、工资信息、职工各种信息的修改、对于转出、辞职、退休职工信息的删除等管理工作。经过实际使用证明,该文所设计的人事管理系统可以满足公司人事管理方面的需要。二、前言二、前言随着电脑技术的飞速发展,电脑在企业管理中应用的普及,利用电脑实现企业人事档案的管理势在必行。当前企业信息管理系统正在从C/S 结构向 B/S 结构转移,但是由于安全性等方面的因素,C/S 结构的管理信息系统仍然占据企业管理信息系统的主流。人事管
4、理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、标准化的必要条件。人事管理系统可以用于支持企业完成劳动人事管理工作,有如下3 个方面的目标。1.支持企业实现标准化的管理。2.支持企业高效率完成劳动人事管理的日常业务,包括新职工加入时人事档案的建立,老职工转出、辞职、退休等。3.支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的职工数目决定招聘的人数等。三、系统设计三、系统设计3.13.1 设计要求设计要求信息要求本系统应该包含与人事管理相关的信息,如部门信息、职员信息、,其中职员信息应该包括职员的基本信息如职员的编号、性别等、
5、职员的其他信息(如主要社会关系、奖惩情况等)3.23.2 系统功能分析系统功能分析该系统需要完成如下功能:1.职工各种信息的输入,包括职工的基本信息、学历信息、婚姻状况、考勤信息、工资信息。2.职工各种信息的修改。3.对于转出、辞职、退休职工信息的删除。4.按照某种条件,查询统计符合条件的职工信息。5.对查询、统计的结果打印输出。6.人事系统的使用帮助。3.33.3 系统总体功能模块设计系统总体功能模块设计系统总体功能模块包括职工基本情况、工作部门信息、职工职称信息、职工婚姻状况、职工学历信息、职工考勤管理、职工工资管理等7 个模块,其模块的结构图如下:数据库应用程序用户登录及身份验证职工基本
6、情况职工职称信息工作部门信息职工婚姻状况职工学历信息职工考勤管理职工工资管理四、数据库设计四、数据库设计数据库结构设计的好坏将直接对应用系统的效率以及与实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度等等。4.14.1 数据库需求分析数据库需求分析1.职工基本情况。包括的数据项有职工号、职工、性别、身份证号、生日、籍贯、民族、政治面貌、血型、家庭住址、联系。2.工作部门信息。包括的数据项有部门号、部门名称、部门地址。3.职工职称信息。包括的数据项有职称号、职称名称。4.职工婚姻状况。包括的数据项有职工号、爱人代号、爱人、爱人籍贯、爱
7、人民族、出生日期、工作单位、政治面貌、工作职称。5.职工学历信息。包括的数据项有职工号、学位证书编号、学历、专业、毕业时间、毕业院校。6.职工考勤信息。包括的数据项有职工号、职工、日期,本月天数,公休假天数,应出勤天数,请假,节假日加班,其它加班。7.职工工资信息。包括的数据项有职工号,底薪,补贴,奖金,加班费,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,实发工资。4.24.2 数据库概念结构设计数据库概念结构设计根据以上分析规划出的实体有:职工实体、部门实体、职称实体、爱人实体、学历实体、考勤实体、工资实体。职工实体职工实体 E-RE-R 图图联系性别出生日期联系血型家庭住址职工职工号
8、职工籍贯政治面貌身份证号民族部门实体部门实体 E-RE-R 图图部门部门号部门名部门地址职称实体职称实体 E-RE-R 图图职称职称号职称名爱人实体爱人实体 E-RE-R 图图爱人代号工作单位出生日期籍贯爱人爱人民族工作职称政治面貌学历实体学历实体 E-RE-R 图图毕业院校考勤实体考勤实体 E-RE-R 图图工资实体工资实体 E-RE-R 图图总体总体 E-RE-R 图图学历专业学历毕业时间学位证书编号节假日加班应出勤天数请假考勤本月天数职工日期公休假天数加班费代扣医疗保险所得税实发工资代扣养老金工资职工代扣住房公积补贴公休假天数底薪奖金学历m拥有1职称m拥有1职工1获得1工资1考勤mn存在
9、参加工作时间1m工作部门1结婚1爱人结婚时间4.34.3 数据库逻辑结构设计数据库逻辑结构设计1.E-R1.E-R 图转化为关系模型图转化为关系模型蓝色表示主键职工职工号、职工、性别、身份证号、生日、籍贯、民族、健康状况、政治面貌、血型、家庭住址、联系部门部门号、职工号、部门名称、部门地址、参加工作时间职称职称号、职工号、职称名称爱人爱人代号、职工号、爱人、爱人籍贯、爱人民族、出生日期、结婚时间、工作单位、政治面貌、工作职称学历学位证书编号、职工号、学历、专业、毕业时间、毕业院校考勤职工号、日期、职工、本月天数、公休假天数、应出勤天数、请假、节假日加班、其它加班工资职工号,底薪,补贴,奖金,加
10、班费,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,实发工资2.2.各关系模型的表各关系模型的表表一 EMPLOYEE 职工表列名ENOENAME数据类型及长度CHAR(6)VARCHAR(10)可否为空NOT NULLNULL说明职工号主键职工EGENDEREBIRTHDAYEHOMETOWNENATIONEIDEHEALTHEZZMMEBLOODEHOMEADRESSETELENOVARCHAR(2)DATEVARCHAR(8)VARCHAR(10)CHAR(2)VARCHAR(20)VARCHAR(4)VARCHAR(2)VARCHAR(10)CHAR(10)NULLNULLNULL
11、NULLNULLNULLNULLNULLNULLNULL性别出生日期籍贯民族身份证号健康状况政治面貌血型家庭住址联系表二 DEPARTMENT 部门表列名ENODNODNAMEDADDDTIME数据类型及长度可否为空CHAR(6)CHAR(6)VARCHAR(10)VARCHAR(20)DATENOT NULLNOT NULLNULLNULLNULL说明职工号外键部门号主键部门名称部门地址参加工作时间表三 FUNCTION 职称表列名FNOFNAME数据类型及长度CHAR(6)VARCHAR(10)可否为空NOT NULLNULL说明职称号主键职称名称ENOCHAR(6)NOT NULL职工号
12、外键表四 MARRIAGE 婚姻表ENOLNOLNAMELHOMETOWNLNATIONLBIRTHDAYMARRIAGEDATELCOMPANYLZZMMLJOB表五 SCHOOL 学历表列名ENODEGREENOXLMAJORBYDATEBYSCHOOL数据类型及长度CHAR(6)CHAR(15)CHAR(6)VARCHAR(10)DATEVARCHAR(20)可否为空NOT NULLNOT NULLNULLNULLNULLNULL说明职工号外键学位证书编号主键学历专业毕业时间毕业院校CHAR(6)CHAR(6)VARCHAR(10)VARCHAR(8)VARCHAR(10)DATEDAT
13、EVARCHAR(20)VARCHAR(4)VARCHAR(10)NOT NULLNOT NULLNULLNULLNULLNULLNULLNULLNULLNULL职工号外键爱人代号主键爱人爱人籍贯爱人民族出生日期结婚时间工作单位政治面貌工作职称表六 CHECKIN 考勤表列名ENOENAMEEDATEEDAYSERDAYETDAYELEAVEEOVER1EOVER2表七 PAYS 工资表数据类型及长度CHAR(6)VARCHAR(10)DATECHAR(3)CHAR(3)CHAR(3)CHAR(3)CHAR(3)CHAR(3)可否为空NOT NULLNULLNULLNULLNULLNULLNU
14、LLNULLNULL说明职工号(外键)职工日期本月天数公休假天数应出勤天数请假节假日加班其它加班列名ENOENAMELEASTPAYSBUTIEPRIZEDOUBLINGPAYSDKANNUITY数据类型及长度CHAR(6)VARCHAR(10)INTINTINTINTINT可否为空NOT NULLNULLNOT NULLNULLNULLNULLNULLNULLNULLNULLNULL说明职工号外键职工底薪补贴奖金加班费代扣养老金代扣医疗保险代扣住房公积金所得税实发工资DKYLINSURANCEINTDKZFGJJINCOMETAXFACTPAYSINTINTINT五、数据库源码五、数据库源码
15、5.15.1 建立数据库建立数据库 MM(men_management systemMM(men_management system 人事管理系统人事管理系统)create database mmon(name=mmdat,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.25.2 建立了数据库的各基本表及各表的主、外键设置建立
16、了数据库的各基本表及各表的主、外键设置建立 EMPLOYEE 职工表:use mmgocreate table employee(eno char(6)not null primary key,-职工号ename varchar(10),-职工egender varchar(2),-性别ebirthday datetime,-出生日期ehometown varchar(8),-籍贯enation varchar(10),-民族eid char(2),-身份证号ehealth varchar(20),-健康状况ezzmm char(4),-政治面貌eblood varchar(2),-血型eho
17、meadress varchar(10),-家庭住址etelend char(10)-联系1.建立 DEPARTMENT 部门表use mmgocreate table department(eno char(6)not null,-职工号dno char(6)not null primary key,-部门号dname varchar(10),-部门名称dadd varchar(20),-部门地址dtime datetime,-参加工作时间foreign key(eno)references employee(eno)2.建立 FUNCTION 职称表use mmgocreate table
18、 function(fno char(6)primary key,-职称号fname varchar(10),-职称名称eno char(6),-职工号foreign key(eno)references employee(eno)3.建立 MARRIAGE 婚姻表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),-爱人民族lbir
19、thday datetime,-出生日期marriagedate datetime,-结婚时间lcompany varchar(20),-工作单位lzzmm varchar(4),-政治面貌ljob varchar(10),-工作职称foreign 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 dateti
20、me,-毕业时间byschool varchar(20),-毕业院校foreign key(eno)references employee(eno)5.建立 CHECKIN 考勤表use mmgocreate table checkin(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),-其它
21、加班foreign key(eno)referencesemployee(eno)6.建立 PAYS 工资表use mmgocreate table pays(eno char(6)not null,-职工号ename varchar(10),-职工leastpays int not null,-底薪butie int,-补贴prize int,-奖金doublingpays int,-加班费dkannuity int,-代扣养老金dkulinsurance int,-代扣医疗保险dkzfgjj int,-代扣住房公积金incometax int,-所得税factpays int,-实发工资f
22、oreign key(eno)referencesemployee(eno)5.35.3 对各表的完整性等进行设置对各表的完整性等进行设置对 employee 表中的 egender 列进行核查约束:alter table employeeadd check(egender=男 or egender=女)对 pays 表中的 leastpays 列进行默认值设置:create default def_leastpaysas 800gosp_bindefault def_leastpays,pays.leastpays对 employee 表中的 enation 列进行默认值设置create d
23、efault def_enationas 汉gosp_bindefault def_enation,employee.enation对 pays 表中的 factpays 进行索引设置:use mmgocreate unique clustered index factpays_ind on pays(factpays)在 employee 和 pays 表上建立视图:create view empay_viewasselect employee.eno,employee.ename,pays.factpaysfrom employee,payswhere employee.eno=pays.
24、eno建立存储过程use mmgoif exists(select name from sysobjectswhere name=worker and type=p)drop procedure workergocreate procedure workerasselectj.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 onx.eno=y.eno建立触发器create trigger tr_ehealth_upda
25、te on employeefor updateasif update(ehealth)print数据已更新elseprint数据没有更新六、运行平台六、运行平台SQL SERVER 2000 个人版Windows xp 操作系统Transact_SQL 语言具体操作如下:首先进入 SQL Server 2000,打开服务管理器,然后进入企业管理器,查询分析器,弹出一窗口,然后输入Transact-SQL语句,执行即可!七、总结七、总结这次数据库课程设计经历了从选题、目录、摘要、前言、系统设计、需求分析到 E-R 图设计,再到关系模型设计,最后建立数据库。在这其中我们组的每个成员通过查阅相关书籍,分工合作,进行了很多次大大小小的扩充和修改,使数据库结构和内容更趋于完善。通过这次课程设计,我收益颇丰,感受深刻。虽然我们这次做的设计可能不够好,但是为我对以后的数据库设计打下了很好的基础。在做这次课程设计的过程中,我们每个人都很努力,虽然当中我们有过争执与吵闹,但是最终我们达成了共识并且顺利地完成了此次工作。
限制150内