当前位置:文档之家› 人力资源管理系统数据库

人力资源管理系统数据库

人力资源管理系统的数据库设计与实现组成员及所完成的工作:周宇晴所完成工作:ER图的绘制,数据库的物理设计, 数据库上机实现,数据库中数据的装载张雨薇所完成工作:ER图的绘制,ER图到关系模式的转换,数据库上机实现,数据库的运行,作业的组织整理上传刘琴所完成工作:数据库需求分析,ER图的绘制,数据库上机实现,数据库中数据的审核一.需求分析人力资源管理系统(Human Resources Management System,HRMS)包括人事日常事务、薪酬、招聘、培训、考核以及人力资源的管理也指组织或社会团体运用系统学理论方法,对企业的人力资源管理方方面面进行分析、规划、实施、调整,提高企业人力资源管理水平,使人力资源更有效的服务于组织或团体目标。

(1)数据检索a.查询职工基本信息及所属部门:输入:工号输出:职工姓名,部门名称,性别,出生年月,籍贯,进入单位时间,身份证号b.查询职工的调动情况输入:调动编号输出:工号,调动日期,调动原因c.查询职工的考勤信息输入:考勤编号输出:日期,出勤情况d.查询职工工资信息输入:工资编号输出:工资发放日期,基本工资,奖金e.查询培训信息输入:培训编号输出:完成情况、工号、培训内容信息(2)数据插入调动信息表的插入(3)数据修改a.职工部门修改:某职工部门变化时,输入该该职工工号及需修改的属性值,完成对职工部门的修改。

b.职工文化程度的修改:某职工文化程度变化时,输入该职工工号及需修改的属性值,完成对职工文化程度的修改。

(4)数据统计与查询a.显示职工全部信息及其工资信息。

b.显示职工考勤情况及调动信息。

本数据库只包含了人力资源系统中的一些基本信息。

建立此数据库的主要目的就是为了更好的能对数据库进行操作,包括数据库的建立,设计数据库的概念模型、绘制ER 图、ER 图转换成关系模式、数据库模式的建立(即为数据库及其基本表的建立)、数据的录入以及完成一些简单的关系运算表达式的表达和相关的Select 查询语句的使用。

c.系统结构简述:本系统包括五个实体:职工基本信息;考勤信息;所属部门;调动信息;工资信息;注:各个基本表中关键字已在关系模式中说明 d.三.关系模式系统中的实体有:职工基本信息;考勤信息;所属部门;工资;调动信息关系模式如下:职工基本信息(工号,姓名,性别,出生年月,进入单位时间,籍贯,文化程度,身份证号,部门编号)说明:员工编号格式为[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] ,性别的取值为:男或女调动信息(调动编号,工号,调动日期,调动情况)部门(部门编号,部门名称,部门电话,部长)考勤信息(考勤编号,日期,工号,出勤情况)说明:考勤编号格式为[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]工资(工号,工资发放日期,基本工资,奖金)培训(培训编号,完成情况,培训名称,培训内容信息)四、物理设计表2 调动信息表表3 部门表表6 培训表表七五、系统实现(数据库、基本表的建立在查询分析器中使用T-SQL语言:数据库名称为:人力资源管理系统数据库1.数据库的建立:CREATE DATABASE 人力资源管理系统数据库ON PRIMARY( NAME=人力资源管理系统数据库_data,FILENAME='E:\\人力资源管理系统数据库_data.mdf',SIZE=10,MAXSIZE=100,FILEGROWTH=2)LOG ON( NAME=人力资源管理系统_log,FILENAME=' E:\ \人力资源管理系统_Log.LDF',SIZE=5,MAXSIZE=50,FILEGROWTH=2)2.数据表的建立USE 人力资源管理系统GOCREATE TABLE 部门(部门编号char(4) primary key,部门名称char(10) not null,部门电话char(11) not null部长char(8) )GoCREATE TABLE 职工(工号char(10) primary key,姓名char(8)not null,部门编号char(4) not null references 部门表(部门编号),出生年月datetime not null,性别char(2) not null,文化程度char(10),身份证号char(18) not null,籍贯char(50) not null,进入单位时间datetime)GoCREATE TABLE 调动信息(调动编号char(10) primary key,工号char(10) not null references 员工(工号),调动日期datetime not null,调动原因char(50) not null,)GoCREATE TABLE 考勤信息(考勤编号char(10) primary key,日期int not null,出勤情况char(4) not null,工号char(10) not null references 员工(工号))GoCREATE TABLE 工资(工号char(10) primary key,工资发放日期datetime Not null,基本工资int Not null,奖金int,)3.数据的输入仅以人力资源管理表为一个数据为例,其他数据及其他数据表数据的输入略。

Insert into职工Values(‘3013207’‘3013’ ‘张悦’‘1983-9’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3012205’‘3012’ ‘李艳’‘1983-1’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3013216’‘3013’ ‘赵伟’‘1982-9’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3012217’‘3012’ ‘林翔’‘1985-3’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3011208’‘3011’ ‘云霄’‘1973-2’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3011209’‘3011’ ‘韩丹’‘1986-4’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3015210’‘3015’ ‘钱雪’‘1989-5’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3013213’‘3013’ ‘袁飞’‘1987-9’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3014211’‘3014’ ‘赵明’‘1988-6’‘女’‘高中’‘120224************’‘2010.10’‘天津’) Values(‘3016207’‘3016’ ‘李辉’‘1981-7’‘女’‘高中’‘120224************’‘2010.10’‘天津’)Insert into 部门Values(‘3011’‘宣传部’‘20671111’‘云霄’)Values(‘3012’‘管理部’‘20672222’‘林翔’)Values(‘3013’‘策划部’‘20673333’‘赵伟’)Values(‘3014’‘广告部’‘20674444’‘赵明’)Values(‘3015’‘技术部’‘20675555’‘钱雪’)Values(‘3016’‘组织部’‘20676666’‘李辉’)Values(‘1’‘3013207’‘2013年5月1日’‘生病不适合’)Values(‘2’‘3013205’‘2013年3月28日’‘生病’)Values(‘3’‘3013216’‘2014年1月1日’‘人事变动’)Values(‘4’‘3012217’‘2014年2月2日’‘私事’)Values(‘5’‘3011208’‘2014/12/8’‘人事调整’)Values(‘6’‘3011209’‘2012年3月2日’‘人事变动’)Values(‘7’‘3015210’‘2013年3月8日’‘分娩’)Values(‘8’‘3013213’‘2011年7月8日’‘人员变动’)Values(‘9’‘3014211’‘2013年3月28日’‘人员变动’)Values(‘10’‘3016207’‘2013年4月5日’‘人事变动’)4.索引的创建a.职工表:按职工号降序排列CREATE INDEX 职工_职工号ON职工(工号desc)b.职工表:按年龄升序排列CREATE INDEX 职工_出生年月ON职工(出生年月)c.部门表:按部门号升序排列,聚集索引CREATE CLUSTERE INDEX 部门_部门号ON部门(部门号)d.调动信息表:按调动日期降序排列CREATE CLUSTERE INDEX 调动信息_调动日期ON调动信息(调动日期)5.视图的创建a.职工调动视图:显示调动职工调动编号及所在部门信息CREATE VIEW 职工调动视图ASSELECT 工号,姓名,调动编号,部门编号,部门电话FROM 职工表JOIN 调动信息表ON 职工表.工号=调动信息表.工号JOIN 部门表ON 职工表.部门编号=部门表.部门编号b.工资视图:显示CREATE VIEW 工资视图ASSELECT 工号,姓名c. 平均奖金视图:显示所有职工的工号及平均奖金。

Create view 平均奖金视图AsSelect 工号,avg(奖金_元)as平均奖金_元From 工资表Group by 工号d.调动时间与调动原因视图:显示调动时间、调动原因及工号。

Create view 调动时间与调动原因AsSelect 调动信息.调动时间,调动信息.调动原因,工号From 职工inner join调动时间on调动信息.调动时间=调动信息.调动时间Inner join 调动原因on 调动信息.调动原因=调动信息.调动原因Order by 工号FROM 工资表CREATE PROCEDURE 调动信息表的插入@调动编号char(10),@工号char(10),@调动日期char(5),@调动情况char(50)AS INSERT INTO 调动信息表V ALUES (@调动编号,@工号,@调动日期,@调动原因)CREATE PROCEDURE 职工部门的修改@部门编号char(4)ASupdate 部门编号SET 部门编号=@部门编号CREATE PROCEDURE 职工文化程度的修改@文化程度char(10)ASupdate 文化程度SET 文化程度=@文化程度(目测有点问题)。

相关主题