人事信息管理系统后台数据库设计43页.docx
- 文档编号:8453785
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:40
- 大小:442.24KB
人事信息管理系统后台数据库设计43页.docx
《人事信息管理系统后台数据库设计43页.docx》由会员分享,可在线阅读,更多相关《人事信息管理系统后台数据库设计43页.docx(40页珍藏版)》请在冰豆网上搜索。
人事信息管理系统后台数据库设计人事信息管理系统后台数据库设计43页页数据库管理系统课程设计报告题目:
人事信息管理系统的后台数据库设计院(系):
信息科学与工程学院专业班级:
计算机科学与技术*班学生姓名:
*学号:
*指导教师:
陈颉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顾兵.数据库技术与应用().北京:
清华大学出版社,2010.2马晓梅实验指导.第3版.北京:
清华大学出版社,2009.3范立南等2005实用教程.北京:
清华大学出版社,2009.4李丹2005数据库管理与开发.北京:
机械工业出版社,2010.指导教师(签名):
20年月日1.需求分析11.1系统功能的基本要求11.2系统需求分析11.3数据字典21.4数据流图32.概念结构设计42.1局部图42.2全局图63.逻辑结构设计73.1图向关系模式转换的原则73.2根据图转换关系模式83.3关系模式的优化84.物理结构设计94.1数据库文件的建立94.2数据表的建立94.3视图的建立114.4索引的建立114.5存储过程的建立124.6触发器的建立124.6约束的建立125.数据库的物理实现135.1数据库的建立135.2数据表的建立135.3视图的建立165.4索引的建立225.5存储过程的建立275.6触发器的建立295.7约束的建立306.系统后台功能测试347.总结371.需求分析开发数据库系统的第一步是进行需求分析,需求分析的好坏直接决定者系统能否真正满足用户的需要。
需求分析阶段位于软件开发的前期,它的基本任务是准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么。
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局部图2.1.1员工基本信息图2.1.2员工工作信息图2.1.3部门信息图2.1.4工资信息图2.1.5考勤信息图2.1.6员工调动信息图2.2全局图第三章逻辑结构设计逻辑结构设计的任务是把概念结构设计阶段设计完毕的基本ER图转化为与选用的具体机器上的产品所支持的数据模型相符的逻辑结构(包括数据库模式和外模式)。
这些模式在功能性、完整性和一致性约束及数据库的可扩充性等方面应满足用户的各种要求。
ER图型关系模型的转化要解决的问题是如何将实体和实体间的关系转化为关系模式,如何确定这些关系模式的属性和代码。
3.1图向关系模式转换的原则
(1)一个实体型转换为一个关系模式。
实体的属性就是关系的属性。
实体的码就是关系的码。
(2)一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性,该关系的码则有三种情况:
若联系为1:
1,则每个实体的码均是该关系的后选码。
若联系为1:
n,则关系的码为n端实体的码。
若联系为m:
n,则关系的码为诸实体码的组合。
联系为1:
1一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,l每个实体的码均是该关系的候选码。
如果与某一端对应的关系模式合并,则需要在该关系模式的属联系为1:
n一个1联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。
而关系的码为n端实体的码。
联系为m:
n一个联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
而关系的码为各实体码的组合。
例如在我们的例子中,选修联系是一个联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码:
选修(学号,课程号,成绩)三个或三个以上实体间的一个多元联系转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
三个或三个以上实体间的一个多元联系转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
而关系的码为各实体码的组合。
(3)同一实体集的实体间的联系,即自联系,也可按上述1:
1、1和三种情况分别处理。
(4)具有相同码的关系模式可合并。
为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可以考虑将他们合并为一个关系模式。
合并方法是将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。
3.2根据图转换关系模式一个实体型转换为一个关系模式。
实体的属性就是关系的属性。
实体的码就是关系的码。
例如在我们的例子中,员工基本信息实体可以转换为如下关系模式:
员工基本信息(工号,姓名,性别,年龄,民族,入职时间,所属部门,联系电话,身份证号,基本工资)同样,员工工作信息、部门信息等都分别转换为一个关系模式:
员工的工作信息(工号,所属部门编号,职称,工龄)部门(部门编号,部门名称,部门经理,部门电话)工资(工号,实上班天数,实发工资,扣款)考勤(工号,缺勤,迟到,早退,日期)员工调动信息(工号,姓名,原部门编号,新部门编号,调离时间,调入时间)3.3关系模式优化按照上述4条原则,学生管理子系统中的5个实体和联系可以转换为下列关系模型:
将员工工作信息和工资信息具有相同码,合并为员工工作信息(工号,所属部门编号,职称,工龄,实上班天数,实发工资,扣款)由上述优化得到最后满足第三范式的关系模式为:
员工基本信息(工号,姓名,性别,年龄,民族,入职时间,所属部门,联系电话,身份证号,基本工资)员工工作信息(工号,所属部门编号,职称,工龄,实上班天数,实发工资,扣款)部门(部门编号,部门名称,部门经理,部门电话)考勤(工号,缺勤,迟到,早退,日期)员工调动信息(工号,姓名,原部门编号,新部门编号,调离时间,调入时间)4.物理结构设计4.1数据库文件的建立本数据库的文件是由一个数据文件、一个次要文件和一个事务日志文件组成。
数据文件包括数据库的初始信息,记录数据库还拥有哪些文件,并且用于存储数据记录。
次要文件通过在不同的物理磁盘上创建次要数据文件并将数据存储其中,可将数据横跨存储在多块物理磁盘上。
而事务日志文件包括用来恢复数据库的日志信息,记录数据库更新情况的文件。
4.2数据表的建立根据课程设计任务书的要求,经需求分析,需用到五个表,分别为员工信息表,员工工作信息表,部门信息表,考勤信息表,工资信息表,员工调动信息表。
详细情况如下:
4.2.1员工基本信息表表4-1员工信息表编号属性名称类型长度可否为空含义说明1员工编号9否标识每一个员工2姓名8否员工姓名3性别2否标识是男士还是女士4年龄是标识员工的年龄5民族4否标识员工的民族6身份证号18否标识员工的身份7入职时间否记录员工什么时候入职8部门编号4是标识员工所在部门9联系电话11否记录员工的联系方式10基本工资否记录员工的基本收入4.2.2员工工作信息表表4-2员工工作信息表编号属性名称类型长度可否为空含义说明1员工编号9否标识每一个员工2部门编号4否标识每个部门3职称6是标识每一个员工头衔4工龄是标识每个员工工作时间4.2.3部门信息表表4-3部门信息表编号属性名称类型长度可否为空含义说明1部门编号4否标识每个部门2部门名称8否记录部门的名称3部门电话8否记录个部门的联系方式4部门经理8否记录部门的管理人员4.2.4考勤信息表表4-4考勤信息表编号属性名称类型长度可否为空含义说明1员工编号9否标识每一个员工2缺勤4是记录缺勤次数3迟到4是记录迟到次数4早退4是记录早退次数5日期否记录考勤日期4.2.5工资信息表表4-5工资信息表编号属性名称类型长度可否为空含义说明1员工编号9否标识每一个员工2实上班天数否记录每个员工的上班天数3实发工资是记录员工的实际工资4扣款是记录扣款信息4.2.6员工调动信息表表4-6员工调动信息表编号属性名称类型长度可否为空含义说明1员工编号9否标识每一个员工2姓名8否员工姓名3原部门编号4是调离的部门4新部门编号4是调入的部门5调离时间是记录调离原部门的时间6调入时间是记录调入新部门的时间4.3视图的建立视图是一种常用的数据库对象,是关系数据库系统提供给用户以多种角度来观察数据的一种重要机制。
使用视图是的用户能够以更多样而且更有弹性的方式来访问数据,这不仅可以确保数据库的安全性,而且可以提高其使用的便利性。
视图的作用是可以间接的访问其他的表或者视图中的数据。
在数据库的应用中使用视图有几方面优点:
(1)集中数据显示;
(2)简化数据操作;(3)提供简便易行的安全保密措施;(4)易于合并或分割数据。
相对于人事信息管理系统,对员工基本信息的查询较为频繁,故创建一个显示员工基本信息的视图;结算工资时,会用到员工的工资信息,故建立一个员工工资信息视图,还会考虑员工的出勤情况,故建立一个某个员工出勤情况的视图;员工对自己的工作信息进行查询时,要用到工作信息视图,故建立一个工作信息视图,部门进行管理时,需要查询部门信息,故需要建立一个部门信息视图等。
4.4索引的建立索引是访问数据使用的一种辅助数据结构,主要作用是提高数据的访问速度和确保数据的唯一性。
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值得集合和相应说指向表中物理标识这些值的数据页的逻辑指针清单。
索引是依赖于表建立的,可以有效的进行数据选择和排序。
索引的优点有:
(1)利用索引可以大大提高查询速度;
(2)保证数据的唯一性;(3)在使用和子句进行检索数据时,可以显著减少查询中分组和排序的时间;(4)使用索引可以在检索数据的过程中进行优化,提高系统性能;(5)可以加速表与表之间的连接。
由上所述,在人事信息管理系统中各表的主键列需强制唯一,更按升序排列创建索引,便于信息的查询搜索,建立了以下几个索引:
员工姓名聚集索引,部门名称聚集索引,考勤编号聚集索引,工作主键聚集索引,身份证号唯一索引。
4.5存储过程的建立存储过程是一组为了完成特定功能的表达式集合,经编译后存储在数据库中。
用户通过指定存储过程的名字并给出参数来执行。
存储过程可以包括程序流、逻辑以及对数据库的查询,可以接受输入参数、输出参数、返回单个或多个结果集以及返回值。
存储过程结合了的数据操作能力和过程化语言的流程控制能力,是的过程化扩展。
存储过程的优点:
(1)允许标准组件式编程;
(2)能够实现较快的执行速度;(3)能够有效降低网络流量;(4)可被作为一种安全机制来充分利用。
在人事信息管理系统中,首先需要创建一个存储过程,其用于查询数据库中每个员工的基本信息;创建存储过程,用于返回全部男士的工作信息;创建一个存储过程,用于查询员工工资信息;创建一个存储过程,其用于按日期查询每个职工的出勤情况信息;创建一个存储过程,按日期查询各部门的调动信息。
4.6触发器的建立触发器是一种由事件驱动的特殊的存储过程,当它被定义在表上时,可看作表的一部分,一旦定义,任何用户当试图对表进行增加、删除或修改操作时,都由服务器自动激活相应的触发器,即触发器被请求。
由此在核心层进行集中的完整性控制。
触发器的主要作用就是:
能够实现由主键、外键以及各种常规数据约束所不能保证的复杂的参照完整性和数据的一致性。
所以,触发器是一种确保数据和业务完整性的较好方法。
在人事信息管理系统中,创建触发器检查员工的年龄,确保在0-100之间为有效年龄;创建触发器,在插入、修改、删除操作记录时,自动显示表中内容;创建触发器防止表中数据被恶意删除。
4.7约束的建立约束是在中实现数据完整性的一种方法,它通过定义可输入表或表的单个列中的数据的限制条件而自动保持数据库完整性。
中有5种约束:
主键约束、外键约束、唯一性约束、检查约束和默认约束。
每一种数据完整性类型,都由不同的约束类型来保障:
域完整性是由默认值或检查约束予以保障;实体完整性则依靠逐渐或唯一约束来保障;而参照完整性就需要通过外键约束来保障了。
5.数据库物理实现5.1数据库的建立详细信息创建如下:
(,e:
10,100,1),(,e:
10,100,1)(,e:
10,100,1)5.2数据表的建立5.2.1创建员工信息表.员工信息表(员工编号(9),姓名(8),性别
(2),年龄,民族(4),身份证号(18),入职时间,所在部门编号(4),联系电话(11),基本工资)5.2.2创建员工工作信息表.员工工作信息表(员工编号(9),部门编号(4),职称(6),工龄)5.2.3创建部门信息表.部门信息表(部门编号(4),部门名称(8),部门电话(8),部门经理(8)5.2.4创建工资信息表.工资信息表(员工编号(9),实上班天数,实发工资,扣款)5.2.5创建考勤信息表.考勤信息表(员工编号(9),缺勤,迟到,早退,日期)5.2.6创建员工调动信息表.员工调动信息表(员工编号(9),姓名(8),原部门编号(4),新部门编号(4),调离时间,调入时间)5.3视图的建立5.3.1在部门信息表创建视图.部门员工工作信息(100).部门信息表.部门编号部门的编号,.部门信息表.部门名称部门的名称,.员工工作信息表.员工编号,.员工信息表.姓名,.员工工作信息表.职称,.员工工作信息表.工龄.部门信息表.员工工作信息表.部门信息表.部门编号=.员工工作信息表.部门编号.员工信息表.员工工作信息表.员工编号=.员工信息表.员工编号.员工工作信息表.员工编号5.3.2在工资信息表创建视图.员工工资信息(100).工资信息表.员工编号,.员工信息表.姓名,.工资信息表.实上班天数,.工资信息表.实发工资,.工资信息表.扣款.工资信息表.员工信息表.工资信息表.员工编号=.员工信息表.员工编号.员工信息表.姓名5.3.3在员工工作信息表创建视图.员工工作信息.员工工作信息表.员工编号,.员工信息表.姓名,.员工工作信息表.部门编号,.部门信息表.部门名称,.员工工作信息表.职称,.员工工作信息表.工龄.员工工作信息表.员工信息表.员工工作信息表.员工编号=.员工信息表.员工编号.部门信息表.员工工作信息表.部门编号=.部门信息表.部门编号5.3.4在考勤信息表创建视图.员工考勤信息.考勤信息表.员工编号,.考勤信息表.缺勤,.考勤信息表.迟到,.考勤信息表.早退,.考勤信息表.日期,.员工信息表.姓名.考勤信息表.员工信息表.考勤信息表.员工编号=.员工信息表.员工编号5.3.5在员工信息表创建视图.员工信息.员工信息表.员工编号,.员工信息表.姓名,.员工信息表.年龄,.员工信息表.性别,.员工信息表.联系电话,.员工信息表.所在部门编号,.部门信息表.部门名称,.员工信息表.入职时间,.员工信息表.身份证号,.员工信息表.民族,.员工信息表.基本工资.员工信息表.部门信息表.员工信息表.所在部门编号=.部门信息表.部门编号5.3.6在员工调动信息表创建视图.各部门员工调动信息(100)部门信息表_1.部门名称新部门名称,.员工调动信息表.新部门编号,.员工调动信息表.调入时间,.员工调动信息表.员工编号,.员工调动信息表.姓名,.部门信息表.部门名称原部门名称,.部门信息表.部门编号原部门编号,.员工调动信息表.调离时间.部门信息表.员工调动信息表.部门信息表.部门编号=.员工调动信息表.原部门编号.部门信息表部门信息表_1.员工调动信息表.新部门编号=部门信息表_1.部门编号原部门编号5.4索引的建立5.4.1在部门信息表创建索引部门编号唯一索引部门编号.部门信息表(部门编号)(=,=,=,=)部门名称唯一索引部门名称.部门信息表(部门名称)(=,=,=,=)5.4.2在工资信息表创建索引扣款不唯一索引扣款.工资信息表(扣款)(=,=,=,=)实发工资不唯一索引实发工资.工资信息表(实发工资)(=,=,=,=)5.4.3在考勤信息表创建索引迟到不唯一索引迟到.考勤信息表(迟到)(=,=,=,=)早退不唯一索引早退.考勤信息表(早退)(=,=,=,=)5.4.4在员工调动信息表创建索引原部门编号不唯一索引原部门编号.员工调动信息表(原部门编号)(=,=,=,=)新部门编号不唯一索引新部门编号.员工调动信息表(新部门编号)(=,=,=,=)5.4.5在员工工作信息表创建索引工龄不唯一索引工龄.员工工作信息表(工龄)(=,=,=,=)职称不唯一索引职称.员工工作信息表(职称)(=,=,=,=)5.4.6在员工信息表创建索引员工编号唯一索引员工编号.员工信息表(员工编号)(=,=,=,=)姓名不唯一索引姓名.员工信息表(姓名)(=,=,=,=)5.5储存过程的建立5.5.1创建存储过程,返回全部男士的工资信息员工信息表.姓名,性别,实发工资员工信息表,工资信息表员工信息表.员工编号=工资信息表.员工编号员工信息表.性别=男5.5.2创建存储过程,其用于查询数据库中每个员工的基本信息员工信息表.员工编号,姓名,性别,年龄,民族,身份证号,入职时间,联系电话,基本工资员工信息表5.5.3创建存储过程,用于按日期统查询每个职工的出勤信息考勤信息表.日期,员工编号,迟到,早退,缺勤考勤信息表5.5.4创建一个存储过程,用于查询员工工作信息员工工作信息表.员工编号,姓名,部门编号,职称,工龄员工工作信息表,员工信息表员工工作信息表.员工编号=员工信息表.员工编号5.5.5创建一个存储过程,按日期查询各部门的调动信息员工调动信息表.调入时间,员工编号,姓名,新部门编号,原部门编号,调入时间员工调动信息表5.6触发器的建立5.6.1创建触发器检查员工的年龄,确保在0-100之间为有效年龄0_100员工信息表年龄年龄=年龄年龄100(年龄必须在0-100)5.6.2创建触发器,在插入、修改、删除操作记录时,自动显示表中内容员工工作信息表*员工工作信息表5.6.3创建触发器防止表中数据被恶意删除部门信息表(不允许你恶意删除本表数据!
)5.7约束的建立5.7.1在部门信息表建立约束.部门信息表部门信息表(部门编号).部门信息表部门信息表_1(部门名称)5.7.2在工资信息表建立约束.工资信息表工资信息表(员工编号).工资信息表工资信息表_1(实上班天数(0)5.7.3在考勤信息表建立约束.考勤信息表考勤信息表(员工编号).考勤信息表考勤信息表_1(日期)5.7.4在员工调动信息表建立约束.员工调动信息表员工调
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事 信息管理 系统 后台数据库 设计 43