人事管理系统-课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理及运用》
课程设计报告
题目:人事管理系统
专业:网络工程
班级:
姓名:
指导教师:
成绩:
计算机学院
2017年12月8日
目录
前言 (3)
第一部分:基本情况与小组介绍 (4)
1基本情况 (4)
2小组介绍............................................................................................ 错误!未定义书签。
第二部分:课程设计内容 . (4)
第一章绪论 (4)
1课题简介 (4)
2设计目的 (5)
3设计内容 (5)
第二章需求分析 (6)
1功能需求 (6)
2数据流图 (6)
3数据字典 (9)
第三章概念结构设计 (18)
1局部E-R图 (18)
2全局E-R图 (19)
第四章逻辑结构设计 (20)
1.关系模式 (20)
2数据库结构的详细设计 (20)
第五章物理结构设计 (24)
1建立索引 (24)
2存储结构 (24)
3数据库的建立 (24)
第三部分:分析与总结 (1)
1数据库分析 (1)
2课题总结............................................................................................ 错误!未定义书签。
参考文献................................................................................................................... 错误!未定义书签。
前言
数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。
其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。
随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求;信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径。
利用计算机支持教学高效率,完成人事管理的日常事务,是适应现代教学制度要求、推动人事管理走向科学化、规范化的必要条件;而人事管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行人事管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。
在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此人事管理系统的数据库设计尤其重要。
本文主要介绍人事管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。
本文的分为5章:
第1章主要是课题简介及设计的内容与目的等基本情况;
第2章是需求分析,明确用户的各种需求,此阶段是数据库设计的起点;
第3章是概念结构设计,它是将需求分析的用户需求抽象为信息结构;
第4章是逻辑结构设计,它将概念模型转换为某个DBMS 所支持的数据模型;
第5章是物理结构设计,它将数据模型转换为计算机系统所支持的数据库物理结构;
关键词:SQL 语言、数据库设计、人事管理系统
第一部分:基本情况与小组介绍
1基本情况
为了顺利完成这次数据库的课程设计,我查阅了很多材料,网上查了很多类似文件系统。
第二部分:课程设计内容
第一章绪论
1课题简介
随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。
而建立管理信息系统是一个很好的解决办法。
一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
人事管理信息系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。
伴随着人事管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。
所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。
本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库详细设计的方法,完成了一个人事管理系统数据库系统的设计,可以实现:对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。
2设计目的
应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。
数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。
数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程。
3设计内容
运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发人事管理信息系统,完成人事管理信息系统的全部功能,对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。
首先做好需求分析,并完成数据流图和数据字典。
其次做概念结构设计,利用实体联系的方法将用户需求抽象为信息结构,得到E-R 图。
再次就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型。
然后就是物理结构设计,将逻辑数据模型转换为计算机系统所支持的数据库物理结构。
最后就是数据库的实施与运行,把数据载入及运行数据库。
第二章需求分析
1功能需求
通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。
系统功能的主要描述如下:
(1)员工档案管理
①对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。
②对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。
③当员工的信息发生变动时,修改员工档案记录中相应的属性。
(2)员工职务调动管理
对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。
(3)奖惩管理
对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。
(4)考勤管理
①对员工上班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、迟到)。
②对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。
(5)请销假管理
①对员工请假的记录进行统一编号;登记员工请假时间、请假类型。
②对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。
(6)工资管理
对公司里所有员工的工资记录进行统一编号,建立工资记录表。
(7)部门管理
对公司所有的部门进行编号,建立部门记录。
2数据流图
经过详细的调查,弄清了系统现行的业务流程。
在此基础上,构造出系统的逻辑模型,并通
过数据流图表示。
人事管理系统的顶层数据流程图如图1所示。
图1
注:图中虚线表示的数据流是员工信息。
在人事管理系统顶层流程图中,“请假管理”和“出勤管理”两个处理框所表示的功能不是很具体,需对他们进一步细化。
请假管理细化流程图如图2所示:
图2
出勤管理细化流程图如图3所示:
图3
最终,经过整理后得出细化后的系统数据流程图,如图4所示:
图4
3数据字典
人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。
在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。
(1)主要的数据流定义
(2)主要的数据存储定义
(3)主要的处理过程
第三章概念结构设计
根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),以下图是用E-R图表示的人事管理系统的概念模型。
最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。
1局部E-R图
将人事管理系统定名为“人事管理系统”。
各实体的分E-R图,如图A、B、C、D所示:
图A 员工实体图
图B 部门实体图
图C 管理人员实体图
图D 刷卡机实体图2全局E-R图
全局E-R图,如图E所示:
图E 各实体间的联系
第四章逻辑结构设计
1关系模式
将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:
(1)员工档案(员工编号,姓名,性别,出生日期,民族,学历,职称,部门编号),其中员工编号为主码,部门编号为外码
(2)管理员记录(管理员账号,员工编号,密码,级别),其中管理员账号为主码,员工编号为外码
(3)请假记录(请假编号,员工编号,请假时间,请假天数,销假时间,审批领导号,批复结果)请假编号为主码,其中员工编号外码
(4)奖惩记录(奖惩编号,员工编号,奖惩类型,奖惩金额,奖惩日期,批复部门号,批复原因,批复日期),奖惩编号为主码,其中员工编号和批复部门号为外码
(5)职务调动记录(调动编号,员工编号,调动前职务,调动后职务,调动日期,批复部门号,批复原因,批复日期),调动编号为主码,其中员工编号和批复部门号为外码
(6)出勤记录(出勤编号,员工编号,上班时间,下班时间,刷卡日期,刷卡机号),出勤编号为主码,员工编号为外码
(7)工资记录(工资编号,员工编号,基本工资,奖金,罚款,起始时间,截止时间,发薪日期),工资编号为主码,员工编号为外码
(8)部门记录(部门编号,部门名称,领导人号),部门编号为主码
(9)刷卡机记录(刷卡机号)
2数据库结构的详细设计
经过检查,此数据库的详细逻辑设计满足第3范式的要求。
人事管理系统中各表的属性设计情况如下:
表2-1 员工
表2-2 管理人员
表2-3 请假记录
表2-4 奖惩记录
表2-5 职务调动
表2-6 出勤
表2-7 工资
表2-8 部门
表2-9 刷卡机
第五章物理结构设计
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
1建立索引
(1)对表部门在属性列“领导人号”上建立非聚集索引,
(2)对表员工在属性列“出生日期”上建立非聚集索引
在属性列“学历”上建立非聚集索引
(3)对表出勤在属性列“上班日期”上建立非聚集索引
(4)对表工资在属性列“基本工资”上建立非聚集索引
(5)对表职务调动在属性列“调动前职务”上建立非聚集索引
(6)对表奖惩记录在属性列“奖惩类型”上建立非聚集索引
(7)对表请假记录在属性列“请假天数”上建立非聚集索引
在属性列“审批人编号”上建立非聚集索引
2存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。
所以,系统应将日志文件和数据文件存放在不同磁盘上。
3数据库的建立
具体SQL代码如下:
create database 人事管理系统
on primary
(
name=人事管理系统,
filename='D:\SQL\XX售后服务.mdf',
size=10,
filegrowth=10%,
maxsize=50
)
log on
(
name=人事管理系统_日志,
filename='D:\SQL\人事管理系统_日志.ldf',
size=5,
filegrowth=10%,
maxsize=10
)
Go
create table 部门
(
部门编号Char(4) primary key,
部门名Char(10) not null,
领导人号Char(4) not null,
)
Go
create table 管理人员
(
管理员账号char(4) primary key,
职工编号Char(4) not null,
密码Char(6) not null,
级别Char(4) check(级别in ('管理员','系统管理员')),foreign key (职工编号) references 员工(员工编号)
)
Go
create table 刷卡机
( 刷卡机号Char(4) primary key
)
Go
create table 员工
(
员工编号Char(4) primary key,
姓名Char(10) not null,
性别Char(2) check(性别in('男','女')),
出生日期datetime,
学历VarChar(32) not null,
身份证号VarChar(32) not null,
民族VarChar(16) not null,
职称Char(10),
部门编号char(4),
)
Go
create table 出勤
(
出勤号Char(6) primary key,
员工编号Char(4) not null,
上班日期datetime not null,
上班时间datetime not null,
下班时间datetime not null,
刷卡机号Char(4),
foreign key (刷卡机号) references 刷卡机(刷卡机号),foreign key (员工编号) references 员工(员工编号)
)
Go
create table 工资
(
工资编号Char(6) primary key,
员工编号Char(4) not null,
基本工资money not null,
罚款money,
起始时间Datetime,
截止时间Datetime,
发薪日期Datetime,
foreign key (员工编号) references 员工(员工编号) )
Go
create table 职务调动
(
调动编号Char(6) not null primary key,
员工编号Char(4) not null,
调动前职务Char(10),
调动后职务Char(10),
批复部门号Char(4) not null,
调动日期Datetime,
批复日期Datetime,
调动原因VarChar(50),
foreign key (员工编号) references 员工(员工编号),
foreign key (批复部门号) references 部门(部门编号)
)
Go
create table 奖惩记录
(
奖惩编号Char(6) not null primary key,
员工编号Char(4) not null,
奖惩类型Char(4),
奖惩金额money,
奖惩日期Datetime,
批复部门号Char(4),
批复日期Datetime,
奖惩原因VarChar(50),
foreign key (员工编号) references 员工(员工编号),
foreign key (批复部编号) references 部门(部门编号)
)
Go
create table 请假记录
(
请假编号Char(6) not null primary key,
员工编号Char(4) not null,
请假时间Datetime,
销假时间datetime,
请假天数int ,
审批人编号Char(4),
foreign key (员工编号) references 员工(员工编号)
)
Go
/*索引的建立*/
create index部门_领导人号_index on部门(领导人号)
create index 出勤_学历_index on 出勤(学历)
create index 出勤_出生日期_index on 员工(出生日期)
create index 出勤_上班日期_index on 出勤(上班日期)
create index 工资_基本工资_index on 工资(基本工资)
create index 职务调动_调动前职务_index on 职务调动(调动前职务) create index 奖惩记录_奖惩类型_index on 奖惩记录(奖惩类型) create index 请假记录_请假天数_index on 请假记录(请假天数)
Go
第三部分:分析与总结
经过我的努力,终于设计出一个达到程序设计要求的数据库。
其功
能完整,用户界面良好,但是也存在着某些缺陷。
1数据库分析
由于在数据库的设计初期,没有对人事管理系统进行准确地需求分析,导致后期设计过程中的数据库的概念设计阶段无法进行。
因此,通过此次数据库课程设计使学生认识到了需求分析对于软件系统设计的重要性。
也认识到规范化的设计流程对于后期的设计来说,是十分重要的。
前面的设计是后面的铺垫,只有对前面的设计过程进行准确地分析,才能节省整个系统的开发时间。
最后,通过此次数据库课程设计使学生初步理解了简单数据库的一般开发流程,以及数据流图和E-R图等专业图形地绘制。
参考文献:
[1] 张建伟,梁树军编.《数据库技术与应用—SQL Server 2005》[M]. 人民邮电出版社,2008(4)
[2] 王珊,萨师煊主编.《数据库系统概论》[M].高等教育出版社,2006(4).
[3] 马军. SQL语言与数据库操作技术大全—基于SQL Server实现. 电子工业出版社, 2008
[4] 江红.C#.NET程序设计教程[M].清华大学出版社, 2010
1。