企业职工信息管理系统.docx
《企业职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《企业职工信息管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
企业职工信息管理系统
引言………………………………………………………………………2
第一章需求分析………………………………………………………3
1.1需求设计…………………………………………………………………3
1.1.1需求分析阶段的目标…………………………………………………3
1.1.2需求分析阶段的任务…………………………………………………3
1.1.3需求分析阶段成果……………………………………………………4
1.2数据流图…………………………………………………………………5
1.3数据字典…………………………………………………………………8
第二章概念结构设计…………………………………………………10
2.1概念设计的目标与任务…………………………………………………10
2.2概念模型设计……………………………………………………………10
第三章逻辑结构设计…………………………………………………12
3.1逻辑设计的目标与任务…………………………………………………12
3.2数据组织…………………………………………………………………13
3.3数据处理…………………………………………………………………14
第四章数据库的物理设计……………………………………………15
4.1物理设计阶段的目标与任务……………………………………………15
4.2数据存储方面……………………………………………………………15
第五章数据库的实施…………………………………………………16
5.1建立数据库、数据表、视图、索引……………………………………16
5.2数据入库…………………………………………………………………17
第六章数据库的实施和维护…………………………………………17
收获与体会……………………………………………………………18
参考文献………………………………………………………………19
附录……………………………………………………………………20
引言
人类已经跨入了新世纪,正在进入信息时代。
我国国民经济和社会发展第十个五年计划将国民经济和社会信息化作为覆盖现代化建设全局的战略举措,要求加速发展信息产业,大力推进信息化。
现在信息技术的应用越来越普及,不但促进了社会的高速发展,也改变着人们的工作、学习、生活和娱乐的方式以及思想观念。
随着计算机的日益普及,计算机软件无处不在。
软件在计算机的发展和应用中至关重要,在人类进入信息化社会时成为新兴信息产业的支柱。
企业职工信息管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以职工信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
而利用计算机技术,网络技术和数据库原理来设计的企业职工信息管理系统将为企业职工信息的管理带来众多方便之处
本论文的撰写目的是设计一套合理的企业职工信息管理系统数据库,为企业的职工信息管理提供方便,同时,锻炼作者本身的科学研究能力,提高对数据库原理这门学科的理性认识。
围绕这一目的,我们必须完成数据库系统的设计这项任务,具体包括需求设计概念设计,逻辑设计,物理设计,数据库实施,数据库调试与试运行这几项任务
第一章需求分析
1.1需求设计
在企业管理中,职工管理是一个非常重要的方面。
管理内容比较复杂,涉及的部门众多,人员众多,而且往往需要按行政隶属关系进行管理。
所以必须要进喜详细全面地调查才能得到准确的信息。
1.1.1需求分析阶段的目标
(1)了解企业员工信息系统发展现状以及用户的新需求。
(2)通过调查得到企业员工信息管理的基本数据,数据流及业务流图。
(3)明确数据库使用人员对数据安全性完整性的要求。
1.1.2需求分析阶段的任务
1处理对象:
系统要处理的对象包括职工基本信息,职工工资信息,职工考勤信息等几个方面,各个对象包括信息如下所示(详细的数据见于数据字典):
1.职工基本信息包括:
职工编号,职工姓名,职工性别,职工出生年月,职工联系方式,职工家庭住址,职工籍贯,职工职务,职工基本工资,职工所属部门
2.职工考勤信息:
缺勤事由,缺勤时间,加班天数
3.职工工资项目信息:
工资项名称,时间,增减费用
2处理功能要求
系统主要完成一下几个功能:
1.企业职工基本信息管理
(包括员工基本信息查询,修改,员工离职,信息表更新)
2.企业职工考勤管理
3.企业职工工资管理
4.企业人员变动管理
3安全性和完整性要求
企业对职工信息管理系统的安全性要求比较高,尤其是一些机密单位。
我们可以通过设定不同用户只的访问权限,在设定访问密级来保障系统的安全性。
不过由于制作人员的水平限制,本系统仅是定义了数据表操作的访问权限。
完整性要求用于描述职工基本信息,职工工资信息,职工考勤信息中数据项是否符合定义的数据类型,以及这些数据类型是否符合实际要求等。
详细完整性要求见于数据字典。
1.1.3需求分析阶段成果
1体会与收获
虽然以往也参加过类似的活动,那时在大一时的研究性课程,但每一次的开题、调查、研究、解题,对象都是我们所熟悉的老师同学,他们都十分热情地接受我们的调查。
这次不一样了,不论是大公司还是小公司,对我们的调查不以为然,而且满腹牢骚,我们碰了不少灰。
在这次社会调查中,我从有一些胆却到鼓起勇气,从不知所措到计划周详,我们得到了锻炼。
这次调查也是一次实践,它锻炼了我们的胆量、头脑和口才,能顺利完成这次任务就是对我们的能力的最好回答,希望在以后的社会工作中能够多多锻炼自己,是自己的能力后更大一步的提高。
2企业职工信息管理系统业务流程图
1.系统总业务流程图:
图1-1系统业务流程图
2.职工考勤管理业务流图:
图1-2考勤管理业务流图
3.职工工资管理业务流图:
图1-3工资管理业务流图
4.人员变动查询业务流图:
图1-4人员变动查询业务流图
1.2数据流图
1.顶层数据流程图:
图1-5顶层数据流程图
2.中层数据流图:
图1-6中层数据流程图
3.考勤管理DFD
图1-7考勤管理DFD
4.员工信息查询,岗位变动DFD
图1-8员工信息查询,岗位变动DFD
5.工资管理DFD
图1-9工资管理DFD
1.3数据字典
(a)数据项:
系统涉及的数据项有24项
表1-1企业员工信息管理系统数据项说明(汇总统计)
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储结构
别名
DI-1
StaNo
职工编号
char(5)
编号
DI-2
StaName
职工姓名
char(10)
姓名
DI-3
StaSex
职工性别
char
(2)
性别
DI-4
StaBirthday
职工出生年月
date
出生年月
DI-5
StaPhone
职工联系方式
char(12)
联系方式
DI-6
StaAddress
职工家庭住址
char(20)
家庭住址
DI-7
StaOrigin
职工籍贯
char(18)
籍贯
DI-8
StaPost
职工职务
char(10)
职务
DI-9
StaWage
职工工资
Int
工资
DI-10
StaBranch
职工所属部门
char(10)
所属部门
DI-11
ManNo
经理编号
等于StaNo
smallint
编号
DI-12
ManName
经理姓名
等于StaName
char(10)
姓名
DI-13
ManSex
经理性别
等于StaSex
char
(2)
性别
DI-14
ManPhone
经理电话
等于StaPhone
char(12)
电话
DI-15
ManBranch
经理所在部门
等于StaName
char(10)
所在部门
DI-16
DutDays
出勤天数
smallint
出勤天数
DI-17
AddDays
加班天数
smallint
加班天数
DI-18
LeaDays
请假天数
Smallint
请假天数
DI-19
LeaCause
请假事由
char(20)
请假事由
DI-20
OutDays
出差天数
smallint
出差天数
DI-21
WagBase
基本工资
Int
基本工资
DI-22
WagAdd
加班费补贴等
Int
加班费补贴等
DI-23
WagOut
扣除的工资
Int
扣除额
DI-24
WagAcount
总工资
注①
Int
总工资
(b)数据结构:
表1-2企业员工信息管理系统数据结构(汇总统计)
数据结构编号
数据结构名
数据结构
含义
组成
DS-1
Staff
职工基本信息
StaNo,StaName,StaSex,StaBirthday,StaPhone,StaAddress,StaOrigin,StaPost,StaWage,StaBranch,
DS-2
Manager
部门基本信息
ManNo,ManName,ManSex,ManPhone,ManBranch
DS-3
Duty
考勤信息
DutDays,AddDays,LeaDays,LeaCause,OutDays
DS-4
Wage
工资项目信息
WagBase,WagAdd,WagOut,WagAcount
5处理逻辑描述(判定表或判定树)
表1-3企业员工信息管理系统处理逻辑描述
处理编号
处理功能
处理过程
PR-1
判断用户查询涉及的功能模块
企业员工基本信息模块、企业部门基本信息模块、企业分配物品基本信息模块、企业宿舍基本信息模块:
先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。
PR-2
判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中
企业员工基本信息模块、企业部门基本信息模块、企业分配物品基本信息模块、企业宿舍基本信息模块:
先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。
注①:
WagAcount=WagBase+WagAdd-WagOut
第二章概念结构设计
2.1概念设计的目标与任务
概念设计阶段主要目的是将需求分析阶段得到的用户需求抽象为信息结构(概念模型),为以后的数据库设计做好基础。
它是整个数据库设计的关键,他的主要任务是概念模型设计(画出E-R图)。
2.2概念模型设计
(1)根据不同的对象,从中层数据流程图入手,分别画出分E-R图:
(a)考勤管理E-R图:
图2-1考勤管理E-R图
(b)岗位变动E-R图E-R图:
图2-2岗位变动E-R图
(c)工资管理E-R图:
图2-3工资管理E-R图
(2)各分E-R图中每个实体的属性如下所示:
职工:
Staff(StaNo,StaName,StaSex,StaBirthday,StaPhone,StaAddress,StaOrigin,StaPost,StaWage,StaBranch)
经理:
Manager(StaNo,StaName,StaSex,StaPhone,StaBranch)
考勤信息:
Duty(DutDays,AddDays,LeaDays,LeaCause,OutDays)
工资项目信息:
Wage(WagBase,WagAdd,WagOut,,WagAcount)
(3)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的总E-R图如下所示:
图2-4总E-R图
第三章逻辑结构设计
3.1逻辑设计的目标与任务
在得到了系统E-R图后,就要将它转化为具体的数据库模式,这就是逻辑设计阶段的目标。
具体任务包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两项。
3.2数据组织
1将E-R图转换为关系模型
职工换原则如下:
一个实体型转化为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
在上述E-R图中,实体间的联系有两种情况:
1:
1联系和1:
N联系。
职工:
Staff(StaNo,ManNo,StaName,StaSex,StaBirthday,StaPhone,StaAddress,StaOrigin,StaPost,StaWage,StaBranch,DutDays,LeaCause,LeaDays,AddDays,TraBranch,WagBase,WagAdd,WagOut,,WagAcount)
经理:
Manager(ManNo,ManName,ManSex,ManPhone,ManBranch)
以上几个关系模式中,经理与职工的联系均为1:
N,为了使查询方便,职工信息明了将职工与经理的联系放入职工关系模式中。
各模式主码已用下划线表示。
外码用下划线表示。
考勤信息:
Duty(DutDays,,AddDays,LeaDays,LeaCause,OutDays)
工资项目信息:
Wage(WagBase,WagAdd,WagOut,,WagAcount)
职工的的考勤信息和职工信息,职工的工资项目信息和职工信息均为1:
1联系,将他们的联系属性也放到了职工模式中。
这样看来,职工模式的属性未免有些过多,但这可以使查询功能很好的发挥,职工信息全面也将给用户带来很多方便。
主码即为模式中带下划线的属性。
2模型优化
经过分析,以上关系模型中的各个模式属性并不存在部分函数依赖或传递函数依赖,因此它符合3范式。
不足之处是在职工模式中,属性过多,可能会出现数据冗余。
但这种冗余可以给查询带来方便之处,不用再做连接。
如有更好的方法来消除这种冗余,以后可以借鉴。
3数据库模式定义
表3-1企业职工信息管理系统关系模式汇总
编号
关系名称
模式说明
T-1
Staff(详见附录1-1)
(详见附录1-1)
T-2
Manager(详见附录1-2)
(详见附录1-2)
T-5
Duty(详见附录1-3)
(详见附录1-3)
T-8
Wage(详见附录1-4)
(详见附录1-4)
4用户子模式设计
表3-2企业职工信息管理系统关系外模式汇总
编号
视图名称
视图定义
作用
V-1
StaffView
职工基本信息视图
查询职工的基本信息
V-2
StaffLeaView
职工请假信息视图
查询职工请假信息
V-3
StaffOutView
职工出差信息视图
查询职工出差信息
V-4
StaffAddView
职工加班信息视图
查询职工加班信息
V-5
DutyView
职工出勤信息视图
查询职工出勤信息
V-6
TranferView
职工岗位变动信息视图
查询职工岗位变动信息
V-7
WageAddView
职工工资增加信息视图
查询职工工资增加信息
V-8
WageCutView
职工工资扣罚信息视图
查询职工工资扣罚信息
V-9
WageAcoView
职工工资信息视图
查询职工工资基本信息
3.3数据处理
系统功能模块图:
图2-5总E-R图
第四章数据库的物理设计
4.1物理设计阶段的目标与任务
数据库的物理设计阶段的目标就是为逻辑数据模型选取一个最合适应用要求的物理结构,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,即将关系模式转化为基本表。
(2)设计视图,存储过程等,从而实现子功能模块。
4.2数据存储方面
为数据库中各Staff,Manager基本表建立的存储过程:
表4-1存储过程汇总
编号
存储过程名称
定义
作用
P-1
p1_Staff_Insert
详见附录2-1
在Staff中插入一元组
P-2
p2_Manager_Insert
详见附录2-2
在Manager中插入一元组
P-3
P3Staff_Delete
详见附录2-3
在Staff中删除元组
P-4
P4_Staff_Update
详见附录2-4
在Staff中更新操作
P-5
P5_Staff_Query
详见附录2-5
在Staff中匹配(StaNo)查询
第五章数据库的实施
5.1建立数据库、数据表、视图、索引
1建立数据库
createdatabaseStudent_Dormitory_Management;
2建立数据表
(1)企业职工基本信息表的建立:
createtableStaff
(2)部门经理基本信息表的建立:
createtableManager
(3)职工考勤管理信息表的建立:
createtableDuty
(4)职工工资管理信息表的建立:
createtableWage
3建立视图
(1)用于查询企业职工基本信息基本信息的视图定义如下:
createviewStaffView
(2)查询企业职工请假信息视图定义如下:
createviewStaffLeaView
(3)查询企业职工出差信息的视图定义如下:
createviewStaffOutView
(4)查询企业职工加班信息的视图定义如下:
createviewStaffAddView
(5)查询企业职工考勤信息的视图定义如下:
createviewDutyView
(6)查询企业职工岗位变动信息的视图定义如下:
createviewTranferView
(7)查询企业职工增加工资信息的视图定义如下:
createviewWageAddView
(8)查询企业职工扣除工资信息的视图定义如下:
createviewWageCutView
创建表,视图及存储过程的DDL语句请见附录2
4建立索引
createuniqueindexStaffNoonStaff(StaNo);
createuniqueindexManagerNoonManager(ManNo);
createuniqueindexStaffNameonStaff(StaName);
createuniqueindexManagerNameonManager(ManName);
5.2数据入库
企业职工信息管理系统包括4张基本表,每张表有10天基本信息,录入时采用事先在Excel中录入数据,然后使用SQLServer2000数据导入/导出向导功能,直接将数据导入到相应的基本表中。
第六章数据库的实施和维护
在这一阶段,我们对系统的各个设计阶段的结果进行了一一审查,并对基本功能进行了验证,如数据库的插入,查询,删除,更新功能。
具体的调试过程及数据库截图见附录3。
收获与体会
为期一周半的数据库课程设计结束了,在本次的课程设计中收获颇丰,从以下几个方面总结下:
1.理论学习方面:
通过这次的实习,我对数据库原理理论有了更深刻的认识。
尤其是数据库设计的各个阶段,以前只知道基本程序,现在对各个阶段的工作有了深刻的理解。
在实习中对以前模糊不亲的概念又有了重新的学习和理解。
比如:
业务流图的画法,数据流图的画法,存储过程触发器等。
2.课程设计方面:
对SQL2000的基本操作更加熟练了,对于计算机专业的学生来说SQL2000是我必须要掌握的最基本的数据库。
在课程设计阶段重新设计模式,并使用必然会加深理解。
还有,这次的课程设计时我们对科学研究的基本方法,步骤有了了解,这将会对我们日后的学习研究打下基础。
3.存在问题和不足:
知识储备的不足,可能是由于对数据库原理的理解不够深刻,在设计数据库时碰到了许多问题,幸好有老师和同学的帮助,才涉险过关。
在准备阶段,应该把自己只是不到位的地方好好温习一下。
这样在设计数据库时就会减少很多困难。
本人制作的企业职工信息管理系统的开发与设计从开始的需求分析,到最后的提交论文,自始至终都受到王老师的细心指导和关怀,正是有了老师和同学的帮助,最终完成了课程设计,这对于我以后的学习和工作有着莫大的启迪和经验的积累,再次感谢王老师在数据库课程学习阶段以及课程设计阶段对我们的辛勤指导。
参考文献
[1]萨师煊王珊,《数据库系统概论》(第四版),北京,高等教育出版社,2006:
198~234数据库设计
[2]杨海霞,《数据库实验指导》,北京,人民邮电出版社,2007
[3]张海藩,《软件工程导论》(第五版),北京,清华大学出版社,2006:
数据流图,数据字典
[4]李涛,《VisualC+++SQLServer数据库开发与实例》,北京,清华大学出版社,2006
附录1数据库逻辑结构定义
1.职工(Staff)基本信息表,用于记录企业职工的基本信息:
表3-3Staff关系模式说明
属性名
数据类型
取值范围
是否为主属性
是否为外键
完整性要求
StaNo
char(5)
00000~99999
是
否
Notnull
StaName
char(10)
否
否
Notnull
StaSex
char
(2)
男、女
否
否
Notnull
StaBirthday
Datetime
否
否
Notnull
StaPhone
char(12)
否
否
StaAddress
char(20)
否
否
StaOrigin
char(18)
否
否
ManName
char(10)
否
是
Notnull
StaPost
char(4)
否
否
Notnull
StaWage
char(4)
大于等于800小于25000(元/月)
否
否
Notnull
StaBranch
char(10)
否
否
Notnull
DutDays
Smallint
0~31
否
否
Notnull
LeaCause
char(20)
否
否
LeaDays
Smallint
0~31
否
否
AddDays
Smallint
0~31
否
否
TraBranch
char(10)
否
否
WagBase
int
大于800小于5000(元/月)
否
否
Notnull
WagAdd
int
0~500
否
否
WagOut
int
0~800
否
否
WagAcount
int
大于等于0小于3000(元/月)
否