企业人事管理系统实例SQL课程设计.docx
《企业人事管理系统实例SQL课程设计.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统实例SQL课程设计.docx(33页珍藏版)》请在冰豆网上搜索。
企业人事管理系统实例SQL课程设计
企业人事管理系统实例
第1章引言
随着计算机应用的日益普及,数据库技术已成为越来越重要的技术基础。
数据库即使是保证应用软件质量的重要环节,专业化、高效的应用系统对于数据库技术的要求也越来越高。
数据库是数据管理的最新技术,是计算机学科的重要分支。
十余年来,数据库管理系统已从专用的应用的程序包发展成为通用的系统软件。
由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
数据库技术是计算机领域中最为活跃的技术之一,是计算机科学的重要分支,它的出现对于许多企事业单位提高科学管理水平都起到举足轻重的作用。
对于一个企事业单位来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量这个机构信息化程度的重要标志。
数据库技术是计算机科学与技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储效率,保证数据的完整和一致。
数据库是数据管理的最新技术,是计算机科学的重要分支。
今天,信息资源已成为各个部门的重要财富和资源。
建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业生存和发展的重要条件。
因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,越来越多新的应用领域采用数据库技术来存储和处理信息资源。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体说,是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
数据库一个信息系统的各个部分能否紧密地结合在一起以及如何结合,关键在数据库。
企业人事管理系统是一个单位不可缺少的部分,它的内容对于单位的决策者和管理者来说都至关重要,所以企业人事管理系统应该能够为用户提供充足的信息和快捷的的查询手段。
第2章需求分析
2.1需求分析的设计思想
在现代化的企业当中,企业人事管理工作将发挥越来越重要的作用。
企业人事管理工作已经渗透到企业日常工作的方方面面,无论是其自身还是所发挥的作用。
随着时代的进步,企业也逐渐变得庞大起来,为了企业的创新、发展以及经济效益,如何管理好企业内部员工的信息和员工的工资信息,成为企业管理中的一个大的问题。
在这种情况下,一个可以提高工作效率、减少公司开资的具有经济效益的人事管理系统就显得是必要的。
随着市场竞争的日趋激烈,人才成为实现企业自身战略目标的一个非常关键的因素。
企业中人心向背和员工对工作的投入在很大程度上决定了该企业的兴衰成败。
如何能保持本企业员工的工作责任感,激励他们的工作热情,减少人才流失,已成为困扰企业管理的一个日益尖锐的问题,可以说本系统从根本上来讲就是对人的管理。
现在“公平,公正”的企业管理原则已为不少企业所采纳。
但是要“公平,公正,合理”绝非易事,它不是仅靠规章制度和政策就可以解决的。
通过建立透明、一致、易查和全面的人事管理系统,将与人相关的信息统一管理起来,才有可能为“公平,公正,合理”原则的实现,以及企业在动作和劳资纠纷等方面的风险规避等建立一套科学保障体系。
最初的人事管理,都是靠人力来完成的。
当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的员工越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题。
如果增加人员就会增加公司的开资,这样增加了企业的经济负担。
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
根据上述系统功能分析,针对各个功能模块的需求,总结出各个信息之间的联系如下:
机构与部门之间的联系:
一个机构基本信息对应多个部门信息,而一个部门信息对应一个机构信息,所以机构基本信息与部门信息之间是一对多的关系。
部门与员工之间的联系:
一个部门信息对应多个员工信息,而一个员工信息对应一个部门信息,所以员工信息与部门信息之间是一对多的关系。
员工与档案之间的联系:
一个员工信息对应一个档案信息,而一个档案信息对应一个员工信息,所以员工信息与档案信息之间是一对一的关系。
员工与工资之间的联系:
一个员工信息对应多个工资信息,一个工资信息对应一个员工信息,所以员工信息与工资信息二者之间是一对多的关系,产生职务属性。
员工与保险之间的联系:
一个员工信息对应多个保险信息,一个保险对应一个员工信息,所以员工信息与保险二者之间是一对多的关系。
员工与合同之间的联系:
一个员工信息对应多个合同信息,一个合同信息对应一个员工工资信息,所以员工信息与合同信息二者之间是一对多的关系。
合同与合同类别之间的联系:
一个合同信息对应多个合同类别信息,一个合同类别
信息对应一个合同信息,所以合同类别信息与合同信息二者之间是一对多的关系。
2.2数据流图和数据字典
一个基于计算机信息处理系统的逻辑模型由数据流和一系列数据转换构成,这些转换将输入数据变换为输出数据。
数据流图就是用来刻画数据流和数据转换的信息系统建模技术。
数据流图并不足以完整地描述软件的需求,因为它没有描述数据流的内容。
一般地,数据流图必须与描述并组织数据条目的数据字典配合使用。
2.2.1数据流图
数据流图(DataFlowDiagram,DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和处理情况。
设计DFD只需考虑软件系统必须完成的基本逻辑功能,完全不需考虑如何具体地实现这些功能,即只考虑软件“做什么”,而不必考虑“怎么做”。
数据流图是结构系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型。
在数据流图中有四种基本符号,如表2-1所示。
表2-1数据流图基本符号的意义
符号
说明
加工,输入数据在此进行变换产生输出数据,中间要注明加工的名字
数据输入的源点和数据输出的终点,在其中要注明源泉点或终点的名字
数据流,被加工的数据及数据流向,在箭头边要用名词或名词性短语给出数据流的名字
数据存储文件,要用名词或名词性短语给出数据文件的名字
由于企业人事管理系统主要是以“员工”为主体,所以该数据流图也是只针对员工的一系列信息在系统中的数据流向及存储进行设计。
企业人事管理系统数据流图如图2-1所示,其中所涉及到的数据存储文件,详细见(附录A)
图2-1企业人事管理系统数据流图
2.2.2数据字典
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
一、数据项
以下为本系统的部分数据项进行描述,详见附录B。
⒈数据项:
ygnumber
含义说明:
唯一标识每个员工
别名:
员工编号
长度:
6
取值范围:
000000至999999
取值含义:
前两位标识该员工所在部门,后四位按顺序编号。
⒉数据项:
yfnumber
含义说明:
唯一标识员工每月工资
别名:
月份编号
长度:
2
取值范围:
00至99
取值含义:
从1月份到12月份
⒊数据项:
bxnumber
含义说明:
唯一标识保险类型
别名:
保险编号
长度:
6
取值范围:
000000至999999
取值含义:
每位按顺序编号
⒋数据项:
danumber
含义说明:
唯一标识每个员工档案
别名:
档案编号
长度:
6
取值范围:
000000至999999
取值含义:
前两位标识该员工档案存储位置,后四位按顺序编号。
⒌数据项:
bmnumber
含义说明:
唯一标识每个员工所属部门
别名:
部门编号
长度:
6
取值范围:
000000至999999
取值含义:
前两位标识该部门所属机构,后四位按顺序编号。
⒍数据项:
jgnumber
含义说明:
唯一标识该机构
别名:
机构代码
长度:
6
取值范围:
000000至999999
取值含义:
每位按顺序编码。
⒎数据项:
htnumber
含义说明:
唯一标识合同名称。
别名:
合同编号
长度:
6
取值范围:
000000至999999
取值含义:
每位按顺序编码
⒏数据项:
htlbnumber
含义说明:
唯一标识合同类别。
别名:
合同类别编号
长度:
6
取值范围:
000000至999999
取值含义:
每位按顺序编码
二、数据结构
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。
本系统中对数据结构的具体描述如下:
⒈数据结构:
员工
含义说明:
是人事管理系统的主体数据结构,定义了员工的有关信息
组成:
员工编号,员工姓名,性别,年龄,学历,家庭住址,联系电话
⒉数据结构:
工资
含义说明:
是人事管理系统中工资的数据结构,定义了员工工资的有关信息
组成:
月份编号,基本工资,职务补助,奖励工资,缺勤次数,单次缺勤罚金
杂费,工资合计
⒊数据结构:
保险
含义说明:
是人事管理系统中员工保险信息的数据结构,定义了员工保险的有关
信息
组成:
保险编号,保险名称,开始缴费时间,缴费年限,缴费金额
⒋数据结构:
档案
含义说明:
定义了员工档案的有关信息
组成:
档案编号,档案类别,存放位置,档案状态
⒌数据结构:
部门
含义说明:
是人事管理系统中部门的有关信息
组成:
部门编号,部门名称,部门简介
⒍数据结构:
机构
含义说明:
定义了机构的有关信息
组成:
机构编号,机构名称,机构地址
⒎数据结构:
合同
含义说明:
是人事管理系统中合同的有关信息
组成:
合同编号,合同名称
⒏数据结构:
合同类别
含义说明:
定义了合同类别的有关信息
组成:
合同类别编号,合同类别名称
三、数据流
数据流是数据结构在系统内传输的路径。
本系统中对数据流的具体描述如下:
⒈数据流“添加”可描述如下:
数据流:
添加
说明:
对企业中新进员的基本信息进行登记
数据流来源:
员工
数据流去向:
增加信息
⒉数据流“登记”可描述如下:
数据流:
登记
说明:
企业根据员工所从事工作的类型将员工进行部门分配
数据流来源:
部门信息登记
数据流去向:
员工
⒊数据流“签合同”可描述如下:
数据流:
签合同
说明:
企业与员工签订合同,并对合同按类进行记录
数据流来源:
员工管理
数据流去向:
员工
⒋数据流“合同信息”可描述如下:
数据流:
合同信息
说明:
企业与员工签订合同,并把合同信息返给员工
数据流来源:
合同信息
数据流去向:
员工
⒌数据流“考核”可描述如下:
数据流:
考核
说明:
企业对员工的日期工作情况进行管理和考核,以为员发放工资
数据流来源:
员工管理
数据去向:
工资管理
⒍数据流“工资信息”可描述如下:
数据流:
工资信息
说明:
企业根据工资管理对员工发放工资
数据流来源:
工资管理
数据流去向:
员工
⒎数据流“入档”可描述如下:
数据流:
入档
说明:
企业对员工的所有信息进行存档,实现统一管理
数据流来源:
员工管理
数据流去向:
录入档案
⒏数据流“参加”可描述如下:
数据流:
参加
说明:
企业给予员工提供保险信息的管理
数据流来源:
员工管理
数据流去向:
参加保险
⒐数据流“删除”可描述如下:
数据流:
删除
说明:
对员工的基本信息进行删除操作
数据流来源:
员工
数据流去向:
删除信息
⒑数据流“查询”可描述如下:
数据流:
查询
说明:
对员工的基本信息进行查询操作
数据流来源:
员工
数据流去向:
查询信息
⒒数据流“修改”可描述如下:
数据流:
修改
说明:
对员工的基本信息进行修改操作
数据流来源:
员工
数据流去向:
修改信息
⒓数据流“部门编号”可描述如下:
数据流:
部门编号
说明:
对部门的基本信息进行查询操作
数据流来源:
查询信息
数据流去向:
部门查询
⒔数据流“员工编号”可描述如下:
数据流:
员工编号
说明:
对员工的基本信息进行查询操作
数据流来源:
查询信息
数据流去向:
员工查询
⒕数据流“部门信息”可描述如下:
数据流:
部门信息
说明:
将查询结果返回给用户
数据流来源:
部门查询
数据流去向:
员工
⒖数据流“员工信息”可描述如下:
数据流:
员工信息
说明:
将查询结果返回给用户
数据流来源:
员工查询
数据流去向:
员工
四、数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
它可以手工文档或手工凭单,也可以是计算机文档。
本系统中对数据存储的具体描述如下:
⒈机构信息
简述:
用来存储有关企业属于哪个机构的信息。
输入数据:
机构信息。
输出数据:
机构信息。
⒉部门信息
简述:
用来存储企业中所分的各个部门的基本信息。
输入数据:
企业中为每个部个所设置的部门代码及该代码对应的名称。
输出数据:
部门信息。
⒊工资信息
简述:
用来存储企业中每个月各个员工的工资的基本信息。
输入数据:
工资信息与考勤信息。
输出数据:
工资信息。
⒋保险信息
简述:
用来存储企业中各个员工所参加的保险的基本信息。
输入数据:
保险信息。
输出数据:
保险信息。
⒌档案信息
简述:
企业中每个员个都有固定的档案跟随员工本人,该项就是用来存储各员工
的一系列信息的。
输入数据:
档案编号及名称。
输出数据:
档案中所记录的员工的基本信息。
⒍合同信息
简述:
用来存储企业中各个员工进入企业后与企业所签订的合同。
输入数据:
合同信息。
输出数据:
员工所签订的合同的基本信息。
⒎合同类别信息
简述:
用来将企业中各个员工与企业所签订的合同进行分类管理。
输入数据:
合同类别信息。
输出数据:
按类显示合同信息。
2.3概念结构设计
2.3.1局部概念模型设计
局部概念模型的设计思想是根据需求分析的内容用E-R图分别表示出各个实体及其属性,以及用E-R图表示出各实体之间的联系,如下图所示。
2.3.2总体概要设计
各子系统的分E-R图设计好以后,下一步就是将所有的分E-R图综合成一个总的E-R图。
由于各个局部所面向的问题不同,这就导致各个分E-R图之间必定会存在许多不一致的问题,称之为冲突。
因此合并分E-R图必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并E-R图的主要工作和关键。
各E-R图之间的冲突主要有三种:
属性冲突、命名冲突、结构冲突。
在企业人事管理系统设计过程中,有属性冲突和结构冲突。
属性域冲突,即属性值的类型、取值范围或取值集合不同。
如员工编号在不同的关系中都要定义成相同的属性值的类型为字符型并且字长定义为6,才能避免属性冲突。
按照合成总体E-R图的规则,画出完整的E-R图,如图2-17所示。
图2-17全局E-R图
2.4逻辑结构设计
2.4.1逻辑结构设计思想
概念结构设计是独立于任何一种数据模型的信息结构。
逻辑结构设计是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
所以逻辑结构设计一般分以下三个方面:
⑴将概念结构转换为一般的关系、网状、层次模型。
⑵将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。
⑶对数据模型进行优化。
针对企业人事管理系统,逻辑结构设计采用概念结构转换关系模型,将E-R图依照规则转换为关系模型,为了进一步提高数据库应用系统的性能,再将转换后的关系模型进行优化,确定是否要对某些模式进行合并或分解,为物理设计提供最优的处理。
2.4.2E-R图向关系模型的转换
关系模型的逻辑结构是一组关系模式的集合。
E-R图则是由实体,实体的属性和实体间的联系三个要素组成。
所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。
转换原则如下:
⒈实体类型的转换:
将每个实体类型转换成一个关系模式,实体的属性及为关系模式的属性,实体标识符及为关系模式的键。
⒉联系类型的转换,根据不同的情况做不同的处理。
⑴一个1:
1联系可以转换为一个独立的关系模型,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系合并,则需要在该关系模式的属性中加如另一个关系模式的码和联系本身的属性。
⑵一个1:
n联系可以转换为一个独立的关系模式,也可以与 n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
⑶一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
⑷三个或三个以上的实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
⑸具有相同码的关系模式可合并。
⒊依照该规则将企业人事管理系统的E-R图转换为关系模型如下
⑴将每一个实体转换成一个关系(关系就是给出关系名,写出属性,并标明该关系的主键)
①员工信息(员工编号、档案编号、部门编号、员工姓名、性别、年龄、学历、家庭住址、联系电话)
在此联系中主码为员工编号,因为员工信息与部门是多对一的联系,所以将部门编号传入员工信息中做非主属性,而员工信息与档案是一对一的联系,所以将档案编号传入员工信息中做非主属性。
②员工工资信息(月份编号、员工编号、基本工资、职务补助、奖励工资、缺勤次数、单次缺勤罚金、杂费、工资合计、职务)
在此联系中主码为月份编号,因为员工信息与工资信息是一对多的联系,所以将员工编号传入工资信息中做非主属性,联系本身的属性传入工资信息中做非主属性。
③保险信息(保险编号、员工编号、保险名称、开始缴费时间、缴费年限、缴费金额)
在此联系中主码为保险编号,因为员工信息与保险信息是一对多的联系,所以将员工编号传入保险信息中做非主属性。
④档案信息(档案编号、员工编号、档案类别、存放位置、档案状态)
在此联系中主码为档案编号,因为员工信息与档案信息是一对一的联系,所以将员工编号传入档案信息中做非主属性。
⑤合同信息(合同编号、合同类别编号、员工编号、合同名称)
在此联系中主码为合同编号,因为合同类别信息与合同信息是一对多的联系,所以将合同类别编号传入合同信息中做非主属性。
而员工信息与合同信息也是一对多的联系,所以员工编号传入合同信息中做非主属性。
⑥部门信息(部门编号、机构代码、部门名称、部门简介)
在此联系中主码为部门编号,因为机构信息与部门信息是一对多的联系,所以将机构代码传入部门信息中做非主属性。
⑦合同类别信息(合同类别编号、合同类别名称)
在此联系中主码为合同类别编号。
⑧机构信息(机构代码、机构名称、机构地址)
在此联系中主码为机构代码。
由E-R图可知,企业人事管理系统有八个实体和一个联系,又因为是员工信息与工资信息的一对多的联系,故可转换为八个关系模型。
由关系依赖知,在员工信息、工资信息、部门信息、机构信息、合同信息、合同类别信息、档案信息、保险信息这八个关系模式中,这八个关系模式中其属性都是不能再分的,为一阶范式。
并且都是由主码唯一决定关系中的其他属性,不存在部分函数依赖和传递函数依赖,所以这五个关系都是3NF。
皆为最优,关系模型的优化结束。
第3章系统分析
3.1思想
企业在一般日常工作中需要一套人事信息管理系统,以便于对企业机构信息、部门信息、员工信息、档案信息、工资信息、保险信息、合同信息进行合理、快捷的管理。
一套完整的人事管理系统对一个企业来说起着至关重要的作用,本次设计正是体现这一原则。
对于数据库用户使用的频度不一样,而其查询的东西也不一样,如果每个人都申请用户进入Oracle数据库操作就显得有些繁琐,尤其是对于SQL语句了解不多甚至完全不懂状态下是相当困难的,于是面向对象给我们一个构造面向普遍性的机遇。
在面向对象的福音中我们设计了简单易懂的界面,例如对数据的输入、查询、列表信息等一系列功能,所有访问用户只要根据自己的需要选择进入不同的界面,再根据简单的提示就可以完成相应的操作。
这样就逃离了针对数据库的各种烦琐的代码。
3.2系统功能分析
本系统主要是为了帮助企业的人事部门和财务主管部门提高工作效率,减少企业的不必要开销,从企业的根本利益出发,实现企业人事信息管理的系统化、规范化和自动化。
该课题是对学生数据库原理与应用、VB.NET等多门学科知识的综合运用,是提高学生实际动手能力的有效方法。
本课题模拟实际项目开发过程,使学生熟悉管理系统开发的方法和重要步骤,提高学生的数据库设计及系统分析能力,使学生积累一定的实战经验。
结合对企业对人事的管理,我们设计了企业人事管理系统,这个系统最终实现的主要功能如下:
员工基本信息部分:
主要完成对员工基本信息的添加、修改、删除、查询等管理。
员工档案信息部分:
主要完成对员工档案信息的添加、修改、删除、查询等管理。
员工部门信息部分:
主要完成对对员工所属部门的添加、修改、删除、查询等管理。
员工工资信息部分:
主要完成对员工工资信息的添加、修改、删除、查询等管理。
员工保险信息部分:
主要完成对员工保障信息的添加、修改、删除、查询等管理。
员工合同信息部分:
主要完成员工与企业签订合同的一系列信息的添加、修改、删除、查询管理。
3.3系统模块设计
⒈企业人事管理系统功能模块图如下:
图3-1企业人事管理系统功能模块图
第四章数据库的实施与测试
通过SQLServer语句完成数据库,基本表和相关视图的创建
4.1数据库的创建
CREATEDATABASEHR
ON
(NAME='人事管理数据库HR',
FILENAME='D:
\人事管理系统HR.MDF',
SIZE=3MB,
MAXSIZE=10MB,
FILEGROWTH=10%)
GO
4.2基本表视图和触发器的建立
4.2.1基本表
CREATETABLECOMPANY(
jgnumberCHAR(6)PRIMARYKEY,
jgnameCHAR(20),
jgaddressCHAR(40)
)
GO
剩余表的建立此处略过
4.2.2视图
4.3数据库初始值
//INSERTINTOUSERVALUES(‘root’,’root’);
4.4数据库的实现
4.4.1安全控制:
系统管理员:
普通用户:
4.4.2数据操作功能实例
1用户登录
点击登录按键,可执行:
CREATEPROCEDURElogin
@namechar(40),@passwordvarchar(40)
AS
select*
fromuser
whereuser=@name
andpassword=