人事信息管理系统后台数据库设计样本.docx
《人事信息管理系统后台数据库设计样本.docx》由会员分享,可在线阅读,更多相关《人事信息管理系统后台数据库设计样本.docx(51页珍藏版)》请在冰点文库上搜索。
![人事信息管理系统后台数据库设计样本.docx](https://file1.bingdoc.com/fileroot1/2023-5/25/2675db53-e25e-40d5-8724-34ca61cf187e/2675db53-e25e-40d5-8724-34ca61cf187e1.gif)
人事信息管理系统后台数据库设计样本
《数据库管理系统》
课程设计汇报
题目:
人事信息管理系统后台数据库设计
院(系):
信息科学和工程学院
专业班级:
计算机科学和技术****班
学生姓名:
******
学号:
***********
指导老师:
陈颉
2013年1月7日至2013年1月18日
华中科技大学武昌分校制
数据库管理系统课程设计任务书
一、设计(调查汇报/论文)题目
人事信息管理系统后台数据库设计
二、设计(调查汇报/论文)关键内容
内容:
完成人事信息管理工作,实现各部门信息化管理,满足职员和管理者办公需求,比如职员查询信息、管理员修改信息等,要求设计并实现人事信息管理系统后台数据库。
基础功效和要求:
1.在人事管理过程中,实现信息自动化管理。
2.实现多种信息修改、插入、删除功效(对管理员而言)。
3.实现对多种信息查询、统计,支持模糊查询(对职员和管理员均可)。
4.根据年份月份统计某个职员出勤情况。
5.根据某年某月某日统计查询某部门迟到和早退人数。
6.按年统计各部门调入调出人数信息。
分工任务:
1需求分析
2数据库物理实现
3系统后台功效测试
三、原始资料
1.《数据库管理系统课程设计》指导书
2.数据库系统设计课件
四、要求设计(调查/论文)结果
1.课程设计汇报
2.课程设计作品
五、进程安排
序号
课程设计内容
课时分配
备注
1
选题、需求分析
1天
2
数据库设计
2天
3
数据库表及相关约束、视图实现
2天
4
数据库存放过程、触发器实现
2天
5
数据库后台功效测试
2天
6
验收答辩、撰写课程设计汇报
1天
累计
10天
六、关键参考资料
[1]顾兵.数据库技术和应用(SQLServer).北京:
清华大学出版社,.
[2]马晓梅.SQLServer试验指导.第3版.北京:
清华大学出版社,.
[3]范立南等.SQLServer实用教程.北京:
清华大学出版社,.
[4]李丹.SQLServer数据库管理和开发.北京:
机械工业出版社,.
指导老师(署名):
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索引建立…………………………………………………………………11
4.5存放过程建立……………………………………………………………12
4.6触发器建立………………………………………………………………12
4.6约束建立…………………………………………………………………12
5.数据库物理实现………………………………………………………………13
5.1数据库建立………………………………………………………………13
5.2数据表建立………………………………………………………………13
5.3视图建立…………………………………………………………………16
5.4索引建立…………………………………………………………………22
5.5存放过程建立……………………………………………………………27
5.6触发器建立………………………………………………………………29
5.7约束建立…………………………………………………………………30
6.系统后台功效测试………………………………………………………………34
7.总结…………………………………………………………………………………37
1.需求分析
开发数据库系统第一步是进行需求分析,需求分析好坏直接决定者系统能否真正满足用户需要。
需求分析阶段在软件开发前期,它基础任务是正确地定义未来系统目标,确定为了满足用户需求系统必需做什么。
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.概念结构设计
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.1.6职员调动信息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.物理结构设计
4.1数据库文件建立
本数据库文件是由一个数据文件、一个次要文件和一个事务日志文件组成。
数据文件包含数据库初始信息,统计数据库还拥有哪些文件,而且用于存放数据统计。
次要文件经过在不一样物理磁盘上创建次要数据文件并将数据存放其中,可将数据横跨存放在多块物理磁盘上。
而事务日志文件包含用来恢复数据库日志信息,统计数据库更新情况文件。
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
入职时间
datetime
否
统计职员什么时候入职
8
部门编号
char
4
是
标识职员所在部门
9
联络电话
char
11
否
统计职员联络方法
10
基础工资
int
否
统计职员基础收入
4.2.2职员工作信息表
表4-2职员工作信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
职员编号
char
9
否
标识每一个职员
2
部门编号
char
4
否
标识每个部门
3
职称
char
6
是
标识每一个职员头衔
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
日期
datetime
否
统计考勤日期
4.2.5工资信息表
表4-5工资信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
职员编号
char
9
否
标识每一个职员
2
实上班天数
int
否
统计每个职员上班天数
3
实发工资
int
是
统计职员实际工资
4
扣款
int
是
统计扣款信息
4.2.6职员调动信息表
表4-6职员调动信息表
编号
属性名称
类型
长度
可否为空
含义说明
1
职员编号
char
9
否
标识每一个职员
2
姓名
char
8
否
职员姓名
3
原部门编号
char
4
是
调离部门
4
新部门编号
char
4
是
调入部门
5
调离时间
datetime
是
统计调离原部门时间
6
调入时间
datetime
是
统计调入新部门时间
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关键层进行集中完整性控制。
触发器关键作用就是:
能够实现由主键、外键和多种常规数据约束所不能确保复杂参考完整性和数据一致性。
所以,触发器是一个确保数据和业务完整性很好方法。
在人事信息管理系统中,创建触发器检验职员年纪,确保在0-100之间为有效年纪;
创建触发器,在插入、修改、删除操作统计时,自动显示表中内容;创建触发器预防表中数据被恶意删除。
4.7约束建立
约束是在SQLSever中实现数据完整性一个方法,它经过定义可输入表或表单个列中数据限制条件而自动保持数据库完整性。
SQLSever中有5种约束:
主键约束、外键约束、唯一性约束、检验约束和默认约束。
每一个数据完整性类型,全部由不一样约束类型来保障:
域完整性是由默认值或检验约束给予保障;实体完整性则依靠逐步或唯一约束来保障;而参考完整性就需要经过外键约束来保障了。
5.数据库物理实现
5.1数据库建立
具体信息创建以下:
createdatabasers
on(
name=renshi_m,
filename='e:
\rs_m.mdf',
size=10mb,
maxsize=100mb,
filegrowth=1mb
),
(
name=company_n,
filename='e:
\rs_m.ndf',
size=10mb,
maxsize=100mb,
filegrowth=1mb
)
logon(
name=company_l,
filename='e:
\rs_m.ldf',
size=10mb,
maxsize=100mb,
filegrowth=1mb
)
Go
5.2数据表建立
5.2.1创建职员信息表
USE[rs]
GO
CREATETABLE[dbo].[职员信息表](
[职员编号][char](9)COLLATEChinese_PRC_CI_ASNOTNULL,
[姓名][char](8)COLLATEChinese_PRC_CI_ASNOTNULL,
[性别][char]
(2)COLLATEChinese_PRC_CI_ASNOTNULL,
[年纪][int]NOTNULL,
[民族][char](4)COLLATEChinese_PRC_CI_ASNOTNULL,
[身份证号][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,
[入职时间][datetime]NOTNULL,
[所在部门编号][char](4)COLLATEChinese_PRC_CI_ASNOTNULL,
[联络电话][char](11)COLLATEChinese_PRC_CI_ASNOTNULL,
[基础工资][int]NOTNULL
)ON[PRIMARY]
GO
5.2.2创建职员工作信息表
USE[rs]
GO
CREATETABLE[dbo].[职员工作信息表](
[职员编号][char](9)COLLATEChinese_PRC_CI_ASNOTNULL,
[部门编号][char](4)COLLATEChinese_PRC_CI_ASNOTNULL,
[职称][char](6)COLLATEChinese_PRC_CI_ASNULL,
[工龄][int]NUL