资源描述
摘 要
伴随计算机技术飞速发展,计算机在企业管理中应用普及,利用计算算计实现企业人事档案管理势在必行。目前企业信息管理系统正在从c/s结构向b/s结构转移,不过因为安全性等方面原因,c/s结构管理信息系统仍然占据企业管理信息系统主流。
人事管理系统是现代企业管理工作不可缺乏一部分,是适应该代企业制度要求、推进企业劳感人事管理走向科学化、规范化必需条件。
关键词:SQL SERVER;数据库设计;人事调度
目录
第一章 绪论 1
1.1课题介绍 1
1.2设计目标 1
1.3设计内容 1
第二章 需求分析 2
2.1 需求分析任务 2
2.2 需求分析过程 2
2.3步骤图 2
第三章 概念结构设计 5
3.1 概念结构设计方法和步骤 5
3.2 数据抽象和局部视图设计 5
3.3视图集成 6
第四章 逻辑结构设计 7
4.1 E-R图向关系模型转换 7
4.2 数据库关系图 7
第五章 数据库实现 10
5.1数据库建立 10
5.2 数据库基础结构建立 10
5.3安全性实现 10
5.4完整性实现 10
5.5恢复技术实现 11
第六章 运行和结果 12
6.1简单查询和连接查询 12
6.2嵌套查询 12
6.3组合查询和统计查询 12
第一章 绪论
1.1课题介绍
经过三年学习,我们对计算机方面知识有了很大提升,本着理论联络实际宗旨,经过学校提供这次课程设计实践机会,在指导老师帮助下,历经两周时间,我自行设计一套人事管理系统,在下面各章中,我将以这套人事管理系统为例,谈谈其开发过程和所包含到问题。
1.2设计目标
支持企业高效率完成劳感人事管理日常业务,包含新职员加入时人事档案建立,老职员转出、辞职、退休等。
支持企业进行劳感人事管理及其相关方面决议,如企业领导依据现有职员数目决定招聘人数等。
1.3设计内容
选择课题而且对课题相关信息有一定了解,对于我选课题来说,我必需了解企业对人事管理大约步骤及其相关信息。将这些信息输入到数据库中,使之能够进行查询、修改、删除而且和机票预定系统实施相同操作。在需求分析阶段,需要完成人事管理系统具体分类和实施过程流图。概念设计阶段要完成数据抽象和局部视图设计和视图集成。逻辑结构设计阶段要把E-R图转化为关系模式。最终是数据库实施和运行。
第二章 需求分析
2.1 需求分析任务
调查应用系统用户所需要操作数据,决定在数据库中存放什么数据。
调查应用系统用户要求对素具进行什么样处理,理清数据库中多种数据之间关系。
2.2 需求分析过程
向应用系统用户了解她们通常需要什么信息,数据库中还需要增加或删减哪些内容,如职员年纪、学历、婚姻情况,是否还需要增加她人生经历。列出数据,分析各个数据全部有什么具体作用,她们之间又有什么联络?从而让人事管理人员能全方面具体分析企业人事情况,利于其制订人事管理计划。
2.3数据字典和步骤图
1.系统模块分析
(1)基础信息模块。关键包含企业职员基础信息,如姓名,性别,学历联络方法等。
(2)职员工作信息模块。关键显示职员在企业情况。
(3)部门信息模块。关键统计企业组织机构信息。
(4)考勤信息模块。关键包含职员上下班出勤情况,如迟到等。
(5)职位调度模块。关键包含职员职位变动信息。
(6)查询统计模块。关键为实现上述信息查询和统计,并能够生成相关报表文件。
2.业务步骤分析
图2.1人事管理步骤图
第三章 概念结构设计
3.1 概念结构设计方法和步骤
概念设计阶段我采取自底向上方法,即自顶向下进行需求分析,然后再自底向上进行概念结构设计。对已经细化到无法再分阶段逐步集成在一起,最终合成一个全局概念模式。
3.2 数据抽象和局部视图设计
人事调度信息E-R图
考勤信息E-R图
部门信息E-R图
职员工作信息E-R图
职员基础信息E-R图
3.3视图集成
经过逐步细化再进行每两个一集成初步形成一个E-R图,最终得到图3.4总体概念结构E-R图。
图3.4系统总体结构E-R图
第四章 逻辑结构设计
4.1 E-R图向关系模型转换
将图3.4总体概念结构E-R图转化成关系模型。将转化关系模式进行优化,最终达成第三范式。(最少包含4张表,每个表全部有主键,设必需外键。)
职员基础信息(工号,姓名,性别,年纪,民族,入职时间,所属部门,联络电话,身份证号,基础工资)
职员工作信息(工号,所属部门编号,职称,工龄)
部门(部门编号,部门名称,部门经理,部门电话)
人事调度(工号,姓名,原职位,现职位,调度时间)
考勤(工号,缺勤,迟到,早退,日期)
4.2 基础表结构
依据总体结构图设计各表结构,其对应表定义以下:
表4-1部门信息表结构
编号
属性名称
类型
长度
可否为空
描述
主/外键
1
部门编号
char
4
否
标识每个部门
主
2
部门名称
char
10
是
统计部门名称
3
部门电话
char
11
否
统计各部门联络方法
4
部门经理
char
10
否
统计部门管理人员
表4-2 考勤信息表结构
编号
属性名称
类型
长度
主/外键
是否为空
描述
1
职员编号
char
10
主 外
否
标识每一个职员
2
缺勤
char
4
是
统计缺勤次数
3
迟到
char
4
是
统计迟到次数
4
早退
char
4
是
统计早退次数
5
日期
char
10
否
统计考勤日期
表4-3 职员工作信息表结构
编号
属性名称
类型
长度
是否为空
主/外键
描述
1
职员编号
char
10
否
主
标识每一个职员
2
部门编号
char
4
否
外
标识每个部门
3
职称
char
10
是
职员头衔
4
工龄
char
4
是
工作时间
表4.4人事调度表结构
编号
属性名称
类型
长度
是否为空
主/外键
描述
1
职员编号
char
10
否
主外
标识每一个职员
2
姓名
char
10
是
统计职员姓名
3
原职位
char
10
是
统计原职位
4
现职位
char
10
是
统计现职位
5
调度时间
char
10
统计调度时间
表4.5 职员信息表结构
编号
属性名称
类型
长度
是否为空
主/外键
描述
1
职员编号
char
10
否
主
标识每一个职员
2
姓名
char
10
否
职员姓名
3
性别
char
4
否
标识男女
4
年纪
int
4
是
标识职员年纪
5
民族
char
4
否
标识职员民族
6
身份证号
char
18
否
标识职员身份
7
入职时间
char
10
否
统计职员何时入职
8
所属部门
char
10
是
标识职员所在部门
9
联络电话
char
11
否
统计职员联络方法
10
基础工资
char
10
否
统计职员基础收入
。
第五章 数据库实现
5.1数据库建立
Create database 人事调度
on primary
(
Name=人事调度,
Filename=’c:program files\Microsoft SQL Server\MSSQL.1\MSSQL\
人事调度_data.mdf’,
Size=4MB,
maxsize=10MB,
Filegrowth=1MB
)
Log on
(
Name=人事调度_log,
Filename=’c:program files\Microsoft SQL Server\MSSQL.1\MSSQL\
人事调度_log.ldf’,
Size=1MB,
Maxsize=6MB,
Filegrowth=1%
)
5.2 数据库基础结构建立
1、基础表建立
CREATE TABLE .部门信息表(
[部门编号] [char](10) NULL,primary key
[部门名称] [char](10) NULL,
[部门电话] [char](10) NULL,
[部门经理] [char](10) NULL)
CREATE TABLE .考勤信息表(
[工号] [char](10) NOT NULL,primary key
[缺勤] [char](10) NULL,
[早退] [char](10) NULL,
[迟到] [char](10) NULL,
[日期] [char](10) NULL
)
CREATE TABLE .人事调度表(
[工号] [char](10) NOT NULL,
[姓名] [char](10) NULL,
[原职位] [char](10) NULL,
[现职位] [char](10) NULL,
[调度时间] [char](10) NOT NULL
)
CREATE TABLE .职员工作信息表(
[工号] [char](10) NOT NULL,
[部门编号] [char](4) NOT NULL,
[职位] [char](10) NULL,
[工龄] [char](4) NULL
)
2、 添加数据
Insert into 职员工作信息表(工号,部门编号,职位,工龄)
Values(‘1400’,’0000’,’职员’,’4’)
3、 视图建立
Create view view_1
As select SELECT 人事调度表.工号, 职员工作信息表.部门编号, 职员信息表.姓名
FROM 考勤信息表 INNER JOIN
人事调度表 ON 考勤信息表.工号 = 人事调度表.工号 INNER JOIN
职员工作信息表 ON
考勤信息表.工号 = 职员工作信息表.工号 INNER JOIN
职员信息表 ON 考勤信息表.工号 = 职员信息表.工号 INNER JOIN
部门信息表 ON 职员工作信息表.部门编号 = 部门信息表.部门编号
4、 索引建立
Create unique index.职员工作信息表工号 on.职员工作信息表(工号)
Create unique index部门信息表部门编号 on部门信息表(部门编号)
5、游标建立
Use 人事调度
Declare 部门信息表_cursor scroll cursor
For
Select 部门编号,部门名称,部门经理,部门电话
From 部门信息表
For read only
Open 部门信息表_cursor
Fetch from 部门信息表_cursor
6、 存放过程建立
Create procedure 部门信息表_部门编号
As
Select 部门编号,部门姓名,部门电话,部门经理
From 部门信息表,职员工作信息表
Where 部门信息表.部门编号=职员工作信息表.部门编号
5.3安全性实现
1、利用图形化工具
为了提升安全性,建立系统用户,SQL SERVER用户,数据库用户,写出你所建立三个用户名。Login,login,login
2、利用Transact-SQL
设计一个SQL server登录账户,并设置密码,写出对应SQL语句。
sp_addlogin ‘login’,’123456’
为登录帐户,设计创建一个数据库用户,写出对应SQL语句。
sp_grantdbaccess ‘login’,’login’
为数据库用户创建数据库角色,写出对应SQL语句。
sp_addrolemember ‘db_owner’,’login’
5.4完整性实现
1、UNIQUE约束
Alter table 职员工作信息表
Add constraint unique_工龄
Unique nonclustered(工龄)
2、CHECK约束
Alter table 职员工作信息表
Add constraint check_工龄
Check(工龄>2)
3、DEFAULT约束
Alter table 职员工作信息表
Add constraint default_工龄
Default 4 for 工龄
4、NOT NULL约束
建表中
5、 规则
Use 人事管理系统
Create rule compare
As
@value>0
设计以上五项,写出对应SQL语句。
5.5恢复技术实现
完成全部数据设计工作后,备份数据库,写出备份文件存放位置和文件名。
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\人事调度.bak
第六章 运行和结果
6.1简单查询和连接查询
1、简单查询
设计两个简单查询,写出对应SQL语句,并对查询结果截图。
SELECT 部门编号
FROM 部门信息表
SELECT 部门编号, 部门名称
FROM 部门信息表
2、连接查询
设计两个连接查询,写出对应SQL语句,并对查询结果截图。
SELECT 部门信息表.*
FROM .部门信息表 INNER JOIN
部门信息表 AS 部门信息表_1 ON 部门信息表.部门编号 = 部门信息表_1.部门编号
SELECT 部门信息表.部门名称, 部门信息表_1.部门电话
FROM 部门信息表 INNER JOIN
部门信息表 AS 部门信息表_1 ON 部门信息表.部门编号 = 部门信息表_1.部门编号
6.2嵌套查询
设计两个连接查询,写出对应SQL语句,并对查询结果截图。
SELECT 姓名
FROM 职员信息表
where 部门名称 in
(select 部门名称
from 职员信息表
where 姓名=赵一)
SELECT 工号
FROM 职员工作信息表
where 部门编号 in
(select 部门编号
from 职员工作信息表
Where 工号=1400)
6.3组合查询和统计查询
1、组合查询
设计两个组合查询语句,写出对应SQL语句,并对查询结果截图。
SELECT 部门编号
FROM 部门信息表
where 部门名称=前台
union
select 部门编号
from 部门信息表
where 部门名称=行政
SELECT 工号
FROM 职员信息表
where 部门名称=行政
union
select 工号
from 职员信息表
where 部门名称=后勤
2、统计查询
设计两个统计查询语句,写出对应SQL语句,并对查询结果截图。
Select count(工号)
From 职员工作信息表
Select count(部门编号)
From 部门信息表
展开阅读全文