人事信息管理系统后台数据库设计整合.docx
- 文档编号:8222104
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:22
- 大小:169.27KB
人事信息管理系统后台数据库设计整合.docx
《人事信息管理系统后台数据库设计整合.docx》由会员分享,可在线阅读,更多相关《人事信息管理系统后台数据库设计整合.docx(22页珍藏版)》请在冰豆网上搜索。
人事信息管理系统后台数据库设计整合
《数据库管理系统》
课程设计报告
题目:
人事信息管理系统的后台数据库设计
院(系):
计算机与电子系
专业班级:
计算机科学与技术0903班
学生姓名:
=====
学号:
==========
指导教师:
=======
2011年12月30日至2012年1月13日
华中科技大学武昌分校制
数据库管理系统课程设计任务书
一、设计(调查报告/论文)题目
人事信息管理系统的后台数据库设计
二、设计(调查报告/论文)主要内容
内容:
完成人事信息的管理工作,实现各部门的信息化管理,满足员工与管理者的办公需求,例如员工查询信息、管理员修改信息等,要求设计并实现人事信息管理系统的后台数据库。
基本功能与要求:
1.在人事管理过程中,实现信息的自动化管理。
2.实现各种信息的修改、插入、删除功能(对管理员而言)。
3.实现对各种信息的查询、统计,支持模糊查询(对员工和管理员均可)。
4.按照年份月份统计某个员工的出勤情况。
5.按照某年某月某日统计查询某部门的迟到和早退人数。
6.按年统计各部门的调入调出人数信息。
分工任务:
由我完成需求分析中的系统功能模块图、数据项,及概念结构设计中的E-R图、逻辑结构设计中的关系模式和物理结构设计。
三、原始资料
1.《数据库管理系统课程设计》指导书
2.数据库系统设计课件
四、要求的设计(调查/论文)成果
1.课程设计报告
2.课程设计作品
五、进程安排
序号
课程设计内容
学时分配
备注
1
选题、需求分析
1天
2
数据库设计
2天
3
数据库表及相关约束、视图实现
2天
4
数据库的存储过程、触发器实现
2天
5
数据库后台功能测试
2天
6
验收答辩、撰写课程设计报告
1天
合计
10天
六、主要参考资料
[1]顾兵.数据库技术与应用(SQLServer).北京:
清华大学出版社,2010.
[2]马晓梅.SQLServer实验指导.第3版.北京:
清华大学出版社,2009.
[3]范立南等.SQLServer2005实用教程.北京:
清华大学出版社,2009.
[4]李丹.SQLServer2005数据库管理与开发.北京:
机械工业出版社,2010.
指导教师(签名):
20年月日
1需求分析…………………………………………………………………………1
1.1系统功能的基本要求………………………………………………………1
1.2系统需求分析………………………………………………………………1
1.3数据字典……………………………………………………………………2
1.4数据流图……………………………………………………………………3
2概念结构设计……………………………………………………………………4
2.1局部E-R图…………………………………………………………………4
2.2全局E-R图…………………………………………………………………6
3逻辑结构设计……………………………………………………………………7
3.1E-R图向关系模式转换的原则……………………………………………7
3.2根据E-R图转换关系模式…………………………………………………8
3.3关系模式的优化……………………………………………………………8
4物理结构设计……………………………………………………………………9
4.1数据库文件的建立…………………………………………………………9
4.2数据表的建立………………………………………………………………9
4.3视图的建立…………………………………………………………………11
4.4索引的建立…………………………………………………………………12
4.5存储过程的建立……………………………………………………………12
4.6触发器的建立………………………………………………………………12
5数据库的物理实现………………………………………………………………14
5.1数据库的建立…………………………………………………………………14
5.2数据表的建立…………………………………………………………………14
5.3视图的建立……………………………………………………………………14
5.4索引的建立……………………………………………………………………15
5.5存储过程的建立………………………………………………………………15
5.6触发器…………………………………………………………………………15
总结…………………………………………………………………………………16
人事信息管理系统后台数据库设计
第一章需求分析
开发数据库系统的第一步是进行需求分析,需求分析的好坏直接决定者系统能否真正满足用户的需要。
需求分析阶段位于软件开发的前期,它的基本任务是准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。
1.1系统功能的基本要求:
(1)管理者进入系统后要能够清晰地看到企业的机构组织形式,并能够很方便地进入到各个管理功能模块中。
管理者能够根据企业的实际来实时地改变系统中机构组织,主要的改变包括:
当有新部门成立时,要将新部门加入到系统中;当有部门发生变更时,如更名,上级部门改变了等,要将变更信息在系统中及时更新;
(2)员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。
(3)员工各种信息的修改和删除。
修改的范围有:
人员的基本信息;将人员从一个部门下移到另一个部门下。
对于转出、辞职、辞退、退休员工信息的删除;
(4)按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;
1.2系统需求分析
1.2.1系统功能流程图
1.2.2系统主要功能模块分析
(1)基本信息模块。
主要包括企业员工的基本信息,如姓名、性别、学历、婚姻状况、联系方式等。
职工登录后可以查询个人信息;管理员可以负责维护职工基本信息和职工流动信息。
(2)员工工作信息模块。
主要显示员工在公司的情况。
(3)部门信息模块。
主要记录企业的组织机构信息。
(4)考勤信息模块。
主要包含员工上下班的出勤情况,如迟到、休假等。
(5)工资信息模块。
主要包括员工的工资信息。
(6)查询统计模块。
主要为实现上述信息的查询和统计,并能够生成相关报表文件。
1.3数据字典
数据字典的用途:
是关于数据库中数据的描述;在需求分析阶段建立,是下一步进行概念设计的基础
数据字典的内容:
数据项(数据的最小单位)、数据结构(若干数据项有意义的集合)、数据流(表示某一处理过程的输入或输出)、数据存储(处理过程中存取的数据)、处理过程(该过程的功能)等
1.3.1数据项
(1)员工基本情况。
包括的数据项有员工编号,姓名,性别,年龄,名族,入职时间,所属部门,联系电话,身份证号,基本工资。
(2)员工工作信息。
包括的数据项有员工编号、所属部门编号、职称、工龄。
(3)部门信息。
包括的数据项有部门编号、部门名称、部门电话、部门经理。
(4)员工考勤信息。
包括的数据项有员工编号、缺勤、迟到、早退。
(5)员工工资信息。
包括的数据项有员工编号,姓名,底薪,补贴,奖金,加班,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,房贴,房租,实发工资。
1.3.2数据结构
例如说,数据结构名:
员工
含义说明:
是人事信息管理系统的主体数据结构,定义了一个员工的有关信息。
组成:
员工编号、性别、姓名、年龄、民族、身份证号、入职时间、部门编号、联系电话、基本工资。
1.3.3数据流
例如说,数据流名:
变更员工
数据流来源:
员工编号
数据流去向:
员工信息
说明:
变动人员的有关信息
1.3.4数据存储
例如说,数据存储名:
员工信息表单
流入数据流:
来源员工
流出数据流:
去向
存取方式:
随机存取
说明:
记录员工信息的基本情况
1.3.5存储结构
例如工资信息中
处理过程名:
计算工资
输入数据流:
员工,出勤信息
输出数据流:
工资信息表单
说明:
计算公司所有员工的工资
处理:
在每个月的最后一天计算出每个员工的工资。
1.4总数据流图
第二章概念结构设计
2.1局部E-R图
2.1.1员工基本信息E-R图
2.1.2员工工作信息E-R图
2.1.3部门信息E-R图
2.1.4工资信息E-R图
2.1.5考勤信息E-R图
2.2全局E-R图
第三章逻辑结构设计
逻辑结构设计的任务是把概念结构设计阶段设计完毕的基本E—R图转化为与选用的具体机器上的DBMS产品所支持的数据模型相符的逻辑结构(包括数据库模式和外模式)。
这些模式在功能性、完整性和一致性约束及数据库的可扩充性等方面应满足用户的各种要求。
E—R图型关系模型的转化要解决的问题是如何将实体和实体间的关系转化为关系模式,如何确定这些关系模式的属性和代码。
3.1E-R图向关系模式转换的原则
(1)一个实体型转换为一个关系模式。
实体的属性就是关系的属性。
实体的码就是关系的码。
(2)一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性,该关系的码则有三种情况:
若联系为1:
1,则每个实体的码均是该关系的后选码。
若联系为1:
n,则关系的码为n端实体的码。
若联系为m:
n,则关系的码为诸实体码的组合。
联系为1:
1
一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,l每个实体的码均是该关系的候选码。
如果与某一端对应的关系模式合并,则需要在该关系模式的属
联系为1:
n
一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。
而关系的码为n端实体的码。
联系为m:
n
一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
而关系的码为各实体码的组合。
例如在我们的例子中,"选修"联系是一个m:
n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:
选修(学号,课程号,成绩)三个或三个以上实体间的一个多元联系转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
三个或三个以上实体间的一个多元联系转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
而关系的码为各实体码的组合。
(3)同一实体集的实体间的联系,即自联系,也可按上述1:
1、1:
n和m:
n三种情况分别处理。
(4)具有相同码的关系模式可合并。
为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可以考虑将他们合并为一个关系模式。
合并方法是将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。
3.2根据E-R图转换关系模式
一个实体型转换为一个关系模式。
实体的属性就是关系的属性。
实体的码就是关系的码。
例如在我们的例子中,员工基本信息实体可以转换为如下关系模式:
员工基本信息(工号,姓名,性别,年龄,民族,入职时间,所属部门,联系电话,身份证号,基本工资)同样,员工工作信息、部门信息等都分别转换为一个关系模式:
员工的工作信息(工号,所属部门编号,职称,工龄)
部门(部门编号,部门名称,部门经理,部门电话)
工资(工号,实上班天数,实发工资,扣款)
考勤(工号,缺勤,迟到,早退,日期)
3.3关系模式优化
按照上述4条原则,学生管理子系统中的5个实体和联系可以转换为下列关系模型:
将员工工作信息和工资信息具有相同码,合并为员工工作信息(工号,所属部门编号,职称,工龄,实上班天数,实发工资,扣款)
由上述优化得到最后满足第三范式的关系模式为:
员工基本信息(工号,姓名,性别,年龄,民族,入职时间,所属部门,联系电话,身份证号,基本工资)
员工工作信息(工号,所属部门编号,职称,工龄,实上班天数,实发工资,扣款)
部门(部门编号,部门名称,部门经理,部门电话)
考勤(工号,缺勤,迟到,早退,日期)
第四章物理结构设计
4.1数据库文件的建立
本数据库的文件是由一个数据文件、一个次要文件和一个事务日志文件组成。
数据文件包括数据库的初始信息,记录数据库还拥有哪些文件,并且用于存储数据记录。
次要文件通过在不同的物理磁盘上创建次要数据文件并将数据存储其中,可将数据横跨存储在多块物理磁盘上。
而事务日志文件包括用来恢复数据库的日志信息,记录数据库更新情况的文件。
详细信息创建如下:
createdatabaserenshi
on(
name=renshi_m,
filename='e:
\kcsj\renshi_m.mdf',
size=10mb,
maxsize=100mb,
filegrowth=1mb
),
(
name=company_n,
filename='e:
\kcsj\renshi_m.ndf',
size=10mb,
maxsize=100mb,
filegrowth=1mb
)
logon(
name=company_l,
filename='e:
\kcsj\renshi_m.ldf',
size=10mb,
maxsize=100mb,
filegrowth=1mb
)
Go
4.2数据表的建立
根据课程设计任务书的要求,经需求分析,需用到五个表,分别为员工信息表,员工工作信息表,部门信息表,考勤信息表,工资信息表。
详细情况如下:
4.2.1员工基本信息表
表4-1员工信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
员工编号
char
9
否
标识每一个员工
2
姓名
char
8
否
员工姓名
3
性别
char
2
否
标识是男士还是女士
4
年龄
int
是
标识员工的年龄
5
民族
char
4
否
标识员工的民族
6
身份证号
char
18
否
标识员工的身份
7
入职时间
int
否
记录员工什么时候入职
8
部门编号
char
4
是
标识员工所在部门
9
联系电话
char
11
否
记录员工的联系方式
10
基本工资
int
否
记录员工的基本收入
4.2.2员工工作信息表
表4-2员工工作信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
员工编号
char
9
否
标识每一个员工
2
部门编号
char
4
否
标识每个部门
3
职称
char
4
是
标识每一个员工头衔
4
工龄
int
是
标识每个员工工作时间
4.2.3部门信息表
表4-3部门信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
部门编号
char
4
否
标识每个部门
2
部门名称
char
8
是
记录部门的名称
3
部门电话
char
8
否
记录个部门的联系方式
4
部门经理
char
8
否
记录部门的管理人员
4.2.4考勤信息表
表4-4考勤信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
员工编号
char
9
否
标识每一个员工
2
缺勤
char
4
是
记录缺勤次数
3
迟到
char
4
是
记录迟到次数
4
早退
char
4
是
记录早退次数
5
日期
int
否
记录考勤日期
4.2.5工资信息表
表4-5工资信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
员工编号
char
9
否
标识每一个员工
2
实上班天数
int
是
记录每个员工的上班天数
3
实发工资
int
是
记录员工的实际工资
4
扣款
int
是
记录扣款信息
4.3视图的建立
视图是一种常用的数据库对象,是关系数据库系统提供给用户以多种角度来观察数据的一种重要机制。
使用视图是的用户能够以更多样而且更有弹性的方式来访问数据,这不仅可以确保数据库的安全性,而且可以提高其使用的便利性。
视图的作用是可以间接的访问其他的表或者视图中的数据。
在数据库的应用中使用视图有几方面优点:
(1)集中数据显示;
(2)简化数据操作;
(3)提供简便易行的安全保密措施;
(4)易于合并或分割数据。
相对于人事信息管理系统,对员工基本信息的查询较为频繁,故创建一个显示员工基本信息的视图view_staff;结算工资时,会用到员工的工资信息,故建立一个员工工资信息视图view_gongzi,还会考虑员工的出勤情况,故建立一个某个员工出勤情况的视图view_chuqin;员工对自己的工作信息进行查询时,要用到工作信息视图,故建立一个工作信息视图view_gognzuo,部门进行管理时,需要查询部门信息,故需要建立一个部门信息视图view_bumen等。
4.4索引的建立
索引是SQLServer访问数据使用的一种辅助数据结构,主要作用是提高数据的访问速度和确保数据的唯一性。
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值得集合和相应说指向表中物理标识这些值的数据页的逻辑指针清单。
索引是依赖于表建立的,可以有效的进行数据选择和排序。
索引的优点有:
(1)利用索引可以大大提高查询速度;
(2)保证数据的唯一性;
(3)在使用GROUPBY和ORDERBY子句进行检索数据时,可以显著减少查询中分组和排序的时间;
(4)使用索引可以在检索数据的过程中进行优化,提高系统性能;
(5)可以加速表与表之间的连接。
由上所述,在人事信息管理系统中各表的主键列需强制唯一,更按升序排列创建索引,便于信息的查询搜索,建立了以下几个索引:
员工姓名聚集索引,部门名称聚集索引,考勤编号聚集索引,工作主键聚集索引,身份证号唯一索引。
4.5存储过程的建立
存储过程是一组为了完成特定功能的表达式集合,经编译后存储在数据库中。
用户通过指定存储过程的名字并给出参数来执行。
存储过程可以包括程序流、逻辑以及对数据库的查询,可以接受输入参数、输出参数、返回单个或多个结果集以及返回值。
存储过程结合了SQL的数据操作能力和过程化语言的流程控制能力,是SQL的过程化扩展。
存储过程的优点:
(1)允许标准组件式编程;
(2)能够实现较快的执行速度;
(3)能够有效降低网络流量;
(4)可被作为一种安全机制来充分利用。
在人事信息管理系统中,首先需要创建一个存储过程,其用于查询数据库中每个员工的基本信息;创建存储过程,用于返回全部男士的工作信息;创建一个存储过程,用于员工工资管理信息;创建一个存储过程,其用于按年份月份统计某个职工的出勤情况信息;创建一个存储过程,用于实现对各种信息的查询;创建一个存储过程,按某年某月某日统计查询某部门的迟到和早退人数。
4.6触发器的建立
触发器是一种由事件驱动的特殊的存储过程,当它被定义在表上时,可看作表的一部分,一旦定义,任何用户当试图对表进行增加、删除或修改操作时,都由服务器自动激活相应的触发器,即触发器被请求。
由此在DBMS核心层进行集中的完整性控制。
触发器的主要作用就是:
能够实现由主键、外键以及各种常规数据约束所不能保证的复杂的参照完整性和数据的一致性。
所以,触发器是一种确保数据和业务完整性的较好方法。
在人事信息管理系统中,创建一个触发器检查在员工信息表中;防止表中数据被恶意删除;对工资的范围应该1000-5000之间的触发器,防止数据库中表被无意删除的触发器,防止员工对自己工资的修改的触发器。
5数据库物理实现
5.1数据库的建立
5.2数据表的建立
例如员工信息表的建立如下
userenshi;
go
createtable员工信息
(
员工编号char(9)notnull,
姓名char(8)notnull,
性别char
(2)notnull,
年龄intnull,
民族char(4)notnull,
身份证号char(18)notnull,
入职时间datetimenotnull,
所在部门编号char(4)notnull,
联系电话char(11)notnull,
基本工资intnotnull
);
Go
5.3视图的建立
例如所有员工的出勤情况视图如
userenshi;
go
createviewview_chuqin
as
select员工信息.员工编号,姓名,缺勤,迟到,早退,日期
from考勤信息,员工信息
where员工信息.员工编号=考勤信息.员工编号
go
5.4索引的建立
例如员工身份的唯一索引
userenshi;
go
createUNIQUEINDEX身份证号唯一索引
on员工信息(身份证号)
5.5储存过程的建立
例如创建存储过程,返回全部男士的工作信息如
/*创建存储过程返回全部男士的工作信息*/
userenshi
go
createproceduregongzuo_male
as
selectdistincts.姓名,性别,实发工资
froms.员工信息,g.工资信息
wheres.员工编号=g.员工编号ands.性别='男'
go
5.6触发器的建立
例如创建触发器检查员工的年龄,确保在0-100之间为有效年龄,如
/*创建一个触发器检查在员工信息表中
输入一项年龄,必须符合在到分范围内。
*/
userenshi
go
createtriggerage_0_100/*年龄限制*/
on员工信息
forinsert
as
begin
update员工信息
set年龄=员工信息.年龄
where年龄>0and年龄<100and员工编号in
(selectinserted.员工编号frominserted)
end
总结
经过两个星期的数据库课程设计,我们组做的人事信息管理系统后台数据库设计已基本完成,该系统以SQLServer2005为后台数据库管理系统,实现了以员工信息管理、考勤信息管理、部门信息管理及综合查询统计模块为主要功能的系统开发。
为人事信息管理提供
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事 信息管理 系统 后台数据库 设计 整合