数据库课程设计人事管理系统.docx
《数据库课程设计人事管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计人事管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
数据库课程设计人事管理系统
人事管理系统
一、摘要………………………………………..3
二、前言…………………………………………3
三、系统设计…………………………………………3
3.1设计思想…………………………………………3
3.2系统功能分析…………………………………………3
3.3系统总体功能模块设计…………………………………………4
四、数据库设计……………………………………4
4.1数据库需求分析……………………………………4
4.2数据库概念结构设计……………………………………5
(1)分E-R图……………………………………5
(2)总E-R图……………………………………7
4.3数据库逻辑结构设计……………………………………7
(1).E-R图转化为关系模型……………………………………7
(2)2.各关系模型的表……………………………………8
五、数据库源码…………………………………………10
5.1建立数据库MM……………………………………10
5.2建立了数据库的各基本表及各表的主、外键设置………………11
5.3对各表的完整性等进行设置……………………………………13
六、运行平台………………………………..14
七、总结…………………………………………….14
一、摘要
为了完善全面的人事管理功能,使人事企业管理流程合理化和自动化处理和分析各种有价值的信息,以支持决策者制定人事企业管理战略发展计划。
该系统采用了SQLServer2000数据库开发环境,使用专用数据库接口连接,其存取速度快、安全性好,便于管理和操作。
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事管理全过程,包括员工的基本信息、学历信息、婚姻状况、考勤信息、工资信息、员工各种信息的修改、对于转出、辞职、退休员工信息的删除等管理工作。
经过实际使用证明,该文所设计的人事管理系统可以满足公司人事管理方面的需要。
二、前言
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事档案的管理势在必行。
当前企业信息管理系统正在从C/S结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。
人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。
人事管理系统可以用于支持企业完成劳动人事管理工作,有如下3个方面的目标。
1.支持企业实现规范化的管理。
2.支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。
3.支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘的人数等。
三、系统设计
3.1设计要求
()信息要求
本系统应该包含与人事管理相关的信息,如部门信息、职员信息、,其中职员信息应该包括职员的基本信息(如职员的编号、姓名、性别等)、职员的其他信息(如主要社会关系、奖惩情况等)
3.2系统功能分析
该系统需要完成如下功能:
1.员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况、考勤信息、工资信息。
2.员工各种信息的修改。
3.对于转出、辞职、退休员工信息的删除。
4.按照某种条件,查询统计符合条件的员工信息。
5.对查询、统计的结果打印输出。
6.人事系统的使用帮助。
3.3系统总体功能模块设计
系统总体功能模块包括员工基本情况、工作部门信息、员工职称信息、员工婚姻状况、员工学历信息、员工考勤管理、员工工资管理等7个模块,其模块的结构图如下:
四、数据库设计
数据库结构设计的好坏将直接对应用系统的效率以及与实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度等等。
4.1数据库需求分析
1.员工基本情况。
包括的数据项有员工号、员工姓名、性别、身份证号、生日、籍贯、民族、政治面貌、血型、家庭住址、联系电话。
2.工作部门信息。
包括的数据项有部门号、部门名称、部门地址。
3.员工职称信息。
包括的数据项有职称号、职称名称。
4.员工婚姻状况。
包括的数据项有员工号、爱人代号、爱人姓名、爱人籍贯、爱人民族、出生日期、工作单位、政治面貌、工作职称。
5.员工学历信息。
包括的数据项有员工号、学位证书编号、学历、专业、毕业时间、毕业院校。
6.员工考勤信息。
包括的数据项有员工号、员工姓名、日期,本月天数,公休假天数,应出勤天数,请假,节假日加班,其它加班。
7.员工工资信息。
包括的数据项有员工号,姓名,底薪,补贴,奖金,加班费,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,实发工资。
4.2数据库概念结构设计
根据以上分析规划出的实体有:
员工实体、部门实体、职称实体、爱人实体、学历实体、考勤实体、工资实体。
员工实体E-R图
部门实体E-R图
职称实体E-R图
爱人实体E-R图
学历实体E-R图
考勤实体E-R图
工资实体E-R图
总体E-R图
4.3数据库逻辑结构设计
1.E-R图转化为关系模型(蓝色表示主键)
员工(员工号、员工姓名、性别、身份证号、生日、籍贯、民族、健康状况、政治面貌、血型、家庭住址、联系电话)
部门(部门号、员工号、部门名称、部门地址、参加工作时间)
职称(职称号、员工号、职称名称)
爱人(爱人代号、员工号、爱人姓名、爱人籍贯、爱人民族、出生日期、结婚时间、工作单位、政治面貌、工作职称)
学历(学位证书编号、员工号、学历、专业、毕业时间、毕业院校)
考勤(员工号、日期、员工姓名、本月天数、公休假天数、应出勤天数、请假、节假日加班、其它加班)
工资(员工号,姓名,底薪,补贴,奖金,加班费,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,实发工资)
2.各关系模型的表
表一EMPLOYEE员工表
列名
数据类型及长度
可否为空
说明
ENO
CHAR(6)
NOTNULL
员工号(主键)
ENAME
VARCHAR(10)
NULL
员工姓名
EGENDER
VARCHAR
(2)
NULL
性别
EBIRTHDAY
DATE
NULL
出生日期
EHOMETOWN
VARCHAR(8)
NULL
籍贯
ENATION
VARCHAR(10)
NULL
民族
EID
CHAR
(2)
NULL
身份证号
EHEALTH
VARCHAR(20)
NULL
健康状况
EZZMM
VARCHAR(4)
NULL
政治面貌
EBLOOD
VARCHAR
(2)
NULL
血型
EHOMEADRESS
VARCHAR(10)
NULL
家庭住址
ETELENO
CHAR(10)
NULL
联系电话
表二DEPARTMENT部门表
列名
数据类型及长度
可否为空
说明
ENO
CHAR(6)
NOTNULL
员工号(外键)
DNO
CHAR(6)
NOTNULL
部门号(主键)
DNAME
VARCHAR(10)
NULL
部门名称
DADD
VARCHAR(20)
NULL
部门地址
DTIME
DATE
NULL
参加工作时间
表三FUNCTION职称表
列名
数据类型及长度
可否为空
说明
FNO
CHAR(6)
NOTNULL
职称号(主键)
FNAME
VARCHAR(10)
NULL
职称名称
ENO
CHAR(6)
NOTNULL
员工号(外键)
表四MARRIAGE婚姻表
ENO
CHAR(6)
NOTNULL
员工号(外键)
LNO
CHAR(6)
NOTNULL
爱人代号(主键)
LNAME
VARCHAR(10)
NULL
爱人姓名
LHOMETOWN
VARCHAR(8)
NULL
爱人籍贯
LNATION
VARCHAR(10)
NULL
爱人民族
LBIRTHDAY
DATE
NULL
出生日期
MARRIAGEDATE
DATE
NULL
结婚时间
LCOMPANY
VARCHAR(20)
NULL
工作单位
LZZMM
VARCHAR(4)
NULL
政治面貌
LJOB
VARCHAR(10)
NULL
工作职称
表五SCHOOL学历表
列名
数据类型及长度
可否为空
说明
ENO
CHAR(6)
NOTNULL
员工号(外键)
DEGREENO
CHAR(15)
NOTNULL
学位证书编号(主键)
XL
CHAR(6)
NULL
学历
MAJOR
VARCHAR(10)
NULL
专业
BYDATE
DATE
NULL
毕业时间
BYSCHOOL
VARCHAR(20)
NULL
毕业院校
表六CHECKIN考勤表
列名
数据类型及长度
可否为空
说明
ENO
CHAR(6)
NOTNULL
员工号(外键)
ENAME
VARCHAR(10)
NULL
员工姓名
EDATE
DATE
NULL
日期
EDAYS
CHAR(3)
NULL
本月天数
ERDAY
CHAR(3)
NULL
公休假天数
ETDAY
CHAR(3)
NULL
应出勤天数
ELEAVE
CHAR(3)
NULL
请假
EOVER1
CHAR(3)
NULL
节假日加班
EOVER2
CHAR(3)
NULL
其它加班
表七PAYS工资表
列名
数据类型及长度
可否为空
说明
ENO
CHAR(6)
NOTNULL
员工号(外键)
ENAME
VARCHAR(10)
NULL
员工姓名
LEASTPAYS
INT
NOTNULL
底薪
BUTIE
INT
NULL
补贴
PRIZE
INT
NULL
奖金
DOUBLINGPAYS
INT
NULL
加班费
DKANNUITY
INT
NULL
代扣养老金
DKYLINSURANCE
INT
NULL
代扣医疗保险
DKZFGJJ
INT
NULL
代扣住房公积金
INCOMETAX
INT
NULL
所得税
FACTPAYS
INT
NULL
实发工资
五、数据库源码
5.1建立数据库MM(men_managementsystem人事管理系统)
createdatabasemm
on
(name=mmdat,
filename='E:
\Study\SQL\mydata\mmdat.mdf',
size=100,
maxsize=300,
filegrowth=10)
logon
(name=mmlog,
filename='E:
\Study\SQL\mydata\mmdat.ldf',
size=50,
maxsize=150,
filegrowth=10%)
5.2建立了数据库的各基本表及各表的主、外键设置
建立EMPLOYEE员工表:
usemm
go
createtableemployee
(enochar(6)notnullprimarykey,--员工号
enamevarchar(10),--员工姓名
egendervarchar
(2),--性别
ebirthdaydatetime,--出生日期
ehometownvarchar(8),--籍贯
enationvarchar(10),--民族
eidchar
(2),--身份证号
ehealthvarchar(20),--健康状况
ezzmmchar(4),--政治面貌
ebloodvarchar
(2),--血型
ehomeadressvarchar(10),--家庭住址
etelendchar(10))--联系电话
1.建立DEPARTMENT部门表
usemm
go
createtabledepartment
(enochar(6)notnull,--员工号
dnochar(6)notnullprimarykey,--部门号
dnamevarchar(10),--部门名称
daddvarchar(20),--部门地址
dtimedatetime,--参加工作时间
foreignkey(eno)referencesemployee(eno))
2.建立FUNCTION职称表
usemm
go
createtable[function]
(fnochar(6)primarykey,--职称号
fnamevarchar(10),--职称名称
enochar(6),--员工号
foreignkey(eno)referencesemployee(eno))
3.建立MARRIAGE婚姻表
usemm
go
createtablemarriage
(enochar(6)notnull,--员工号
lnochar(6)notnullprimarykey,--爱人代号
lnamevarchar(10),--爱人姓名
lhometownvarchar(8),--爱人籍贯
lnatiomvarchar(10),--爱人民族
lbirthdaydatetime,--出生日期
marriagedatedatetime,--结婚时间
lcompanyvarchar(20),--工作单位
lzzmmvarchar(4),--政治面貌
ljobvarchar(10),--工作职称
foreignkey(eno)referencesemployee(eno))
4.建立SCHOOL学历表
usemm
go
createtableschool
(enochar(6),--员工号
degreenochar(15)primarykey,--学位证书编号
xlchar(6),--学历
majobvarchar(10),--专业
bydatedatetime,--毕业时间
byschoolvarchar(20),--毕业院校
foreignkey(eno)referencesemployee(eno))
5.建立CHECKIN考勤表
usemm
go
createtablecheckin
(enochar(6)notnull,--员工号
enamevarchar(10),--员工名称
edatedatetime,--日期
edayschar(3),--本月天数
erdaychar(3),--公休假天数
etdaychar(3),--应出勤天数
eleavechar(3),--请假
eover1char(3),--节假日加班
eover2char(3),--其它加班
foreignkey(eno)referencesemployee(eno))
6.建立PAYS工资表
usemm
go
createtablepays
(enochar(6)notnull,--员工号
enamevarchar(10),--员工姓名
leastpaysintnotnull,--底薪
butieint,--补贴
prizeint,--奖金
doublingpaysint,--加班费
dkannuityint,--代扣养老金
dkulinsuranceint,--代扣医疗保险
dkzfgjjint,--代扣住房公积金
incometaxint,--所得税
factpaysint,--实发工资
foreignkey(eno)referencesemployee(eno))
5.3对各表的完整性等进行设置
对employee表中的egender列进行核查约束:
altertableemployee
addcheck(egender='男'oregender='女')
对pays表中的leastpays列进行默认值设置:
createdefaultdef_leastpays
as'800'
go
sp_bindefault'def_leastpays','pays.leastpays'
对employee表中的enation列进行默认值设置
createdefaultdef_enation
as'汉'
go
sp_bindefault'def_enation','employee.enation'
对pays表中的factpays进行索引设置:
usemm
go
createuniqueclusteredindexfactpays_indonpays(factpays)
在employee和pays表上建立视图:
createviewempay_view
as
selectemployee.eno,employee.ename,pays.factpays
fromemployee,pays
whereemployee.eno=pays.eno
建立存储过程
usemm
go
ifexists(selectnamefromsysobjects
wherename='worker'andtype='p')
dropprocedureworker
go
createprocedureworker
as
selectj.eno,j.ename,x.dno,x.dname,y.fno,y.fname
fromdepartmentasxjoinemployeeasjonj.eno=x.enojoin[function]asyonx.eno=y.eno
建立触发器
createtriggertr_ehealth_updateonemployee
forupdate
as
ifupdate(ehealth)
print'数据已更新'
else
print'数据没有更新'
六、运行平台
SQLSERVER2000个人版
Windowsxp操作系统
Transact_SQL语言
具体操作如下:
首先进入SQLServer2000,打开服务管理器,然后进入企业管理器,查询分析器,弹出一窗口,然后输入Transact-SQL语句,执行即可!
七、总结
这次数据库课程设计经历了从选题、目录、摘要、前言、系统设计、需求分析到E-R图设计,再到关系模型设计,最后建立数据库。
在这其中我们组的每个成员通过查阅相关书籍,分工合作,进行了很多次大大小小的扩充和修改,使数据库结构和内容更趋于完善。
通过这次课程设计,我收益颇丰,感受深刻。
虽然我们这次做的设计可能不够好,但是为我对以后的数据库设计打下了很好的基础。
在做这次课程设计的过程中,我们每个人都很努力,虽然当中我们有过争执与吵闹,但是最终我们达成了共识并且顺利地完成了此次工作。