员工培训管理系统

您所在的位置:网站首页 员工管理系统开发背景 员工培训管理系统

员工培训管理系统

2024-07-13 11:32| 来源: 网络整理| 查看: 265

目 录 1.引言 2 2.需求分析 3 2.1可行性分析 3 2.2功能分析 3 2.2.1系统的基本构成 3 2.2.2系统功能 3 2.3业务流程分析 4 2.3.1业务流程分析内容 4 2.3.2业务流程图 4 2.4数据字典、数据流程分析 5 2.4.1数据项 5 2.4.2数据结构 5 2.4.3数据流程分析 7 2.4.4数据流图 7 3.数据库设计 8 3.1 概念设计阶段 8 3.1.1分E-R图 8 3.1.2总E-R图 10 3.2逻辑设计阶段 10 3.2.1关系模式 10 3,2,2表结构设计 11 3.3 物理设计阶段 12 3.4 数据库实施阶段 12 3.4.1创建数据库员工培训 12 3.4.2创建数据表 13 3.4.3插入数据 15 3.4.4创建索引 18 3.4.5创建视图 20 3.4.6查询功能 20 3.4.7创建存储过程 22 3.4.8创建触发器 23 4.总结 25 主要参考文献 26

引言 本课程设计是员工培训管理系统。 随着战略人力资源管理时代的到来,员工培训开发在提升员工技能和素质、增强企业核心竞争力等方面具有重要作用。为了较好地解决我国企业在进行员工培训时出现的问题,建立了一套战略员工培训管理系统,使企业的培训工作系统化、规范化、自动化,从而达到提高企业培训的目的。 员工培训管理系统以计算机为工具,通过对员工培训管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事公司的筹划实施等计划。

需求分析 2.1 可行性分析 目前,企业员工培训管理较多为人工管理,各方面都是人工操作,这样不仅浪费人员且操作不方便,不能满足企业的需求,因此,使用员工培训管理系统是很有必要的。本次设计中所用到的软件和技术性能较好,应用的软件SQL Server 2008可以运行Windows Vista Home Basic及更高版本之上,也可以在Windows XP上运行,操作简单,成本较低,符合实用性的要求。本次设计能提高员工培训管理的效率,简化员工培训管理步骤,优化员工培训管理流程,提高公司培训员工效率。 2.2 功能分析 2.2.1 系统的基本构成 员工培训管理系统是用于管理员工信息的重要工具,管理员工培训信息,满足用户对培训人员、课程、成绩等的查询,目的是建立一个系统高效便捷的管理系统,提高管理效率。 2.2.2 系统功能 员工信息管理:记录培训员工的工号,姓名,性别,电话号码,身份证号,家庭住址等。 部门信息管理:记录培训员工的工号,部门号,部门名称,部门电话,职称等。 培训成绩管理:记录培训员工的工号,课程号,课程成绩等。 培训课程管理:记录培训员工的工号,课程号,课程名,培训教授等。 查询功能:管理员可管理和使用这一功能,可对培训人员、课程、成绩进行查询,查看员工培训情况。

2.3 业务流程分析 2.3.1 业务流程分析内容 员工参加培训后,管理员可以对员工信息进行管理,管理员可进行对员工信息,部门信息,培训课程,培训成绩的查询等操作,可获取想要得到的信息。 2.3.2 业务流程图

图1 业务流程图

2.4 数据字典、数据流程分析 2.4.1 数据项

表1 数据项定义 数据项名称 含义说明 数据类型 长度

工号 员工工号 Varchar 10

姓名 员工姓名 Varchar 12

性别 员工性别 Nchar 1

电话号码 员工电话 Varchar 11

身份证号 员工身份证号 Char 18

家庭住址 员工住址 Varchar 200

部门号 无 Char 5

部门名称 无 Varchar 50

部门电话 无 Char 8

职称 员工职称/工种 Varchar 20

课程号 无 Char 10

课程名 无 Varchar 30

培训教授 无 Varchar 20

成绩 无 Char 10

2.4.2 数据结构 1、员工信息表的数据结构

表2 员工信息表的数据结构 列名 数据类型 宽度 主键

工号 Varchar 10 是

姓名 Varchar 12

性别 电话号码 身份证号 家庭住址 Nchar Varchar Char Varchar 1 11 18 200

部门信息表的数据结构

表3 部门信息表的数据结构 列名 数据类型 宽度 主键

工号 部门号 Varchar Char 10 5

部门名称 部门电话 职称 Varchar Char Varchar 50 8 20

培训课程表的数据结构

表4 培训课程表的数据结构 列名 数据类型 宽度 主键

工号 Varchar 10

课程号 课程名 培训教授 Char Varchar Varchar 10 30 20 是

培训成绩表的数据结构

表5 培训成绩表的数据结构 列名 数据类型 宽度 主键

工号 Varchar 10

课程号 成绩 Char Char 10 10

2.4.3 数据流程分析 人员信息经管理员登记录入,并将数据同步到人员信息表,部门信息表,培训课程表和培训成绩表,管理员可对想要的培训人员信息数据进行查询。 2.4.4 数据流图

图2 数据流图

3.数据库设计 3.1 数据库概念设计 3.1.1 分E-R图 1、员工实体及其属性:

图3 员工实体及其属性

部门实体及其属性:

图4 部门实体及其属性

3、课程实体及其属性:

图5 课程实体及其属性

4、培训E-R图

图6 培训E-R图

3.1.2 总E-R图

图7 总E-R图

3.2 数据库逻辑设计 3.2.1 关系模式 按照E-R图向关系模型转换的规则,将概念模型中的实体及其联系转换为关系模式,员工培训管理系统的关系模式设计如下: 员工(工号,姓名,性别,电话号码,身份证号,家庭住址) 部门(部门号,部门名称,部门电话,职称) 课程(课程号,课程名,培训教授) 培训(工号,课程号,成绩) 3,2,2 表结构设计

表6 员工信息表 列名 数据类型与长度 空否 说明 约束条件

工号 Varchar(10) NOT NULL 员工工号 主键

姓名 Varchar(12) NOT NULL 员工姓名 无

性别 Nchar(1) NOT NULL 员工性别 无

电话号码 Varchar(11) NOT NULL 员工电话 无

身份证号 Char(18) NOT NULL 员工身份证号 无

家庭住址 Varchar(200) NOT NULL 员工住址 无

表7 部门信息表 列名 数据类型与长度 空否 说明 约束条件

工号 Varchar(10) NOT NULL 员工工号 外键

部门号 Char(5) NOT NULL

部门名称 Varchar(50) NOT NULL

部门电话 Char(8) NOT NULL

职称 Varchar(20) NOT NULL

表8 培训课程表 列名 数据类型与长度 空否 说明 约束条件

工号 Varchar(10) NOT NULL 员工工号 外键

课程号 Char(10) NOT NULL

主键

课程名 Varchar(30) NOT NULL

培训教授 Varchar(20) NOT NULL

表9 培训成绩表 列名 数据类型与长度 空否 说明 约束条件

工号 Varchar(10) NOT NULL 员工工号 外键

课程号 Char(10) NOT NULL

成绩 Char(10) NOT NULL

3.3 物理设计阶段 根据员工培训管理系统的数据操作需要,为各个表设计索引文件,每个表已经按主码自动创建了一个聚集索引,其他索引如下: 1、按员工信息表的“姓名”列升序创建一个非聚集索引。 2、按员工信息表的“电话号码”列升序创建一个非聚集索引。 3、按员工信息表的“身份证号”列升序创建一个非聚集索引。 4、按培训课程表的“工号”列升序创建一个非聚集索引。 5、按培训课程表的“课程号”列升序创建一个非聚集索引。 6、按培训课程表的“课程名”列升序创建一个非聚集索引。 7、按培训成绩表的“工号”列升序创建一个非聚集索引。 8、按培训成绩表的“课程号”列升序创建一个非聚集索引。 3.4 数据库实施 在此使用SQL Server 2000的T -SQL语言,建立本实例中的表和关系。 3.4.1 创建数据库 USE MASTER GO CREATE DATABASE 员工培训 ON (NAME =‘员工培训_data’, FILENAME=‘E:\4194001206张丽\员工培训_data.mdf’, SIZE=10MB, MAXSIZE=UNLIMITED, FILEGROWTH=5MB) LOG ON(NAME=‘员工培训_log’, FILENAME=‘E:\4194001206张丽\员工培训_log.ldf’, SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB) GO

图8 创建数据库

3.4.2 创建数据表 USE 员工培训 GO CREATE TABLE 员工培训.dbo.员工信息 (工号 VARCHAR(10) NOT NULL PRIMARY KEY, 姓名 VARCHAR(12) NOT NULL, 性别 NCHAR (1) CHECK(性别 IN(‘男’,‘女’))NOT NULL, 电话号码 VARCHAR(11)CHECK (电话号码 LIKE’[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’) NOT NULL, 身份证号 CHAR(18) CONSTRAINT UK_ST UNIQUE NOT NULL, 家庭住址 VARCHAR(200) NOT NULL ) GO

图9 创建员工信息表

2、创建部门信息表 CREATE TABLE 员工培训.dbo.部门信息 (工号 VARCHAR(10) NOT NULL FOREIGN KEY REFERENCES 员工信息(工号) , 部门号 CHAR(5) NOT NULL , 部门名称 VARCHAR(50) NOT NULL, 部门电话 CHAR(8) CHECK (部门电话 LIKE’[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’) NOT NULL, 职称 VARCHAR(20) NOT NULL ) GO

图10 创建部门信息表

3、创建培训课程表 CREATE TABLE 员工培训.dbo.培训课程 ( 工号 VARCHAR(10) NOT NULL FOREIGN KEY REFERENCES 员工信息(工号), 课程号 CHAR(10) NOT NULL PRIMARY KEY, 课程名 VARCHAR(30) NOT NULL, 培训教授 VARCHAR(20) NOT NULL ) GO

图11 创建培训课程表

4、创建培训成绩表 CREATE TABLE 员工培训.dbo.培训成绩 ( 工号 VARCHAR(10) NOT NULL FOREIGN KEY REFERENCES 员工信息(工号) , 课程号 CHAR(10) NOT NULL FOREIGN KEY REFERENCES 培训课程(课程号), 成绩 CHAR(10) NOT NULL ) GO

图12 创建培训成绩表

建表的截图如下:

图13 建表目录

3.4.3 插入数据 USE 员工培训 GO 1、员工信息表中数据 INSERT INTO 员工信息(工号,姓名,性别,电话号码,身份证号,家庭住址) VALUES (‘4174635769’,‘孔泽民’,‘男’,‘19954326678’,‘320101198106147434’,‘江苏省南京市’), (‘4174753943’,‘唐博文’,‘男’,‘13387526762’,‘230307198404261590’,‘黑龙江省鸡西市麻山区’), (‘4172568596’,‘唐靖琪’,‘女’,‘15876346892’,‘37142319900127249X’,‘山东省德州市庆云县’), (‘4157843578’,‘张亚春’,‘女’,‘15476397268’,‘232102196903151919’,‘江苏省常州市顺园新村号’), (‘4156325412’,‘吴春雨’,‘女’,‘16523545696’,‘210303198508131214’,‘辽宁省鞍山市铁西区’), (‘4169325266’,‘乐楷瑞’,‘男’,‘13745329683’,‘610327198206116794’,‘陕西省宝鸡市陇县’), (‘4194538812’,‘周幼安’,‘男’,‘13842253746’,‘411426198102117525’,‘河南省商丘市夏邑县’), (‘4194024316’,‘付文文’,‘女’,‘13474986521’,‘210502198412020944’,‘辽宁省本溪市平山区’), (‘4184120124’,‘沈熙华’,‘女’,‘19133425385’,‘150981197202284550’,‘内蒙古自治区乌兰察布市丰镇市’), (‘4174638525’,‘朱振华’,‘男’,‘15832045599’,‘211003198407230111’,‘辽宁省辽阳市文圣区’) SELECT*FROM 员工信息 GO

图14 插入员工信息数据

2、部门信息表中数据 INSERT INTO 部门信息(工号,部门号,部门名称,部门电话,职称) VALUES (‘4184120124’,‘1101’,‘行政部’,‘85981685’,‘文员’), (‘4174753943’,‘1101’,‘行政部’,‘85981685’,‘副经理’), (‘4172568596’,‘1101’,‘行政部’,‘85981685’,‘文员’), (‘4157843578’,‘1104’,‘人力资源部’,‘83597015’,‘助理’), (‘4174635769’,‘1103’,‘技术部’,‘89190187’,‘工程师’), (‘4174638525’,‘1102’,‘财务部’,‘85927669’,‘专员’), (‘4156325412’,‘1102’,‘财务部’,‘85927669’,‘副经理’), (‘4169325266’,‘1103’,‘技术部’,‘89190187’,‘高级工程师’), (‘4194538812’,‘1103’,‘技术部’,‘89190187’,‘助理’), (‘4194024316’,‘1104’,‘人力资源部’,‘83597015’,‘专员’) SELECT*FROM 部门信息 GO

图15 插入部门信息数据

3、培训课程表中数据 INSERT INTO 培训课程(工号,课程号,课程名,培训教授) VALUES (‘4174753943’,‘101’,‘经营战略管理(ST)’,‘张志军’), (‘4172568596’,‘102’,‘公关危机管理(PCM)’,‘顾青裴’), (‘4157843578’,‘103’,‘供应链管理(SC)’,‘顾青裴’), (‘4174635769’,‘104’,‘广告制作(AP)’,‘唐婉’), (‘4184120124’,‘001’,‘行政管理(AD)’,‘陈妍’), (‘4174638525’,‘002’,‘资金管理(FM)’,‘威廉’), (‘4156325412’,‘003’,‘成本控制(CC)’,‘易烊千玺’), (‘4169325266’,‘004’,‘研发管理(RS)’,‘Jackson’), (‘4194538812’,‘005’,‘生产管理(PM)’,‘Jackson’), (‘4194024316’,‘006’,‘人力资源管理(HR)’,‘李商隐’) SELECT*FROM 培训课程 GO

图16 插入培训课程数据

4、培训成绩表中数据 INSERT INTO 培训成绩(工号,课程号,成绩) VALUES (‘4174753943’,‘101’,‘65’), (‘4172568596’,‘102’,‘82’), (‘4157843578’,‘103’,‘78’), (‘4174635769’,‘104’,‘39’), (‘4184120124’,‘001’,‘78’), (‘4174638525’,‘002’,‘54’), (‘4156325412’,‘003’,‘90’), (‘4169325266’,‘004’,‘46’), (‘4194538812’,‘005’,‘69’), (‘4194024316’,‘006’,‘84’) SELECT*FROM 培训成绩 GO

图17 插入培训成绩数据

3.4.4 创建索引 USE 员工培训 GO 1、员工信息表创建的非聚集索引。 CREATE NONCLUSTERED INDEX IX_姓名 ON 员工信息(姓名 ASC) GO CREATE NONCLUSTERED INDEX IX_电话号码 ON 员工信息(电话号码 ASC) GO CREATE NONCLUSTERED INDEX IX_身份证号 ON 员工信息(身份证号 ASC) GO

图18 建立员工信息表索引

培训课程表创建的非聚集索引。 CREATE NONCLUSTERED INDEX IX_工号 ON 培训课程(工号 ASC) GO CREATE NONCLUSTERED INDEX IX_课程号 ON 培训课程(课程号 ASC) GO CREATE NONCLUSTERED INDEX IX_课程名 ON 培训课程 (课程名 ASC) GO

图19 建立培训课程表索引

3、培训成绩表创建的非聚集索引。 CREATE NONCLUSTERED INDEX IX_工号 ON 培训成绩 (工号 ASC) GO CREATE NONCLUSTERED INDEX IX_课程号 ON 培训成绩(课程号 ASC) GO

图20 建立培训成绩表索引

3.4.5 创建视图 USE 员工培训 GO 1、创建一个员工信息管理的视图。 CREATE VIEW VIEW_员工信息 AS SELECT 员工信息.工号,姓名,性别,部门名称,职称 FROM 员工信息,部门信息 WHERE 员工信息.工号=部门信息.工号 GO 2、创建一个部门信息管理的视图。 CREATE VIEW VIEW_部门信息 AS SELECT 部门号,部门名称,COUNT(部门号) AS 部门人数 FROM 部门信息 group by 部门号,部门名称 GO 3、创建一个培训课程管理的视图。 CREATE VIEW VIEW_培训课程 AS SELECT 员工信息.工号,姓名,课程号,课程名,培训教授 FROM 员工信息,培训课程 WHERE 员工信息.工号=培训课程.工号 GO 3.4.6 查询功能 USE 员工培训 GO 1、根据姓氏查出人员的信息。 SELECT * FROM 员工信息 WHERE 姓名 LIKE’唐%’ GO

图21 姓氏查询信息

2、根据课程号查出员工,课程的信息。 SELECT 员工信息.工号,姓名,课程号,课程名,培训教授 FROM 员工信息,培训课程 WHERE 员工信息.工号=培训课程.工号 and 课程号=‘103’ GO

图22 课程号查询信息

根据课程号查出成绩信息。 SELECT 培训课程.工号,培训成绩.课程号,成绩 FROM 培训课程 LEFT JOIN 培训成绩 ON 培训课程.工号=培训成绩.工号 and 成绩=(SELECT MIN(成绩) AS 最低成绩 FROM 培训成绩 WHERE 课程号=培训课程.课程号) GO

图23 课程号查询成绩

查出培训成绩不合格的员工信息。 SELECT A.工号,姓名,B.课程号,课程名,成绩 FROM 员工信息 AS A,培训课程 AS B,培训成绩 AS C WHERE A.工号=C.工号 and B.课程号=C.课程号 and 成绩



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3