企业人事管理系统Word格式文档下载.docx
《企业人事管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
图2-2企业人事管理系统第一层数据流图
图2-3企业人事管理系统第二层数据流图
2.4数据字典
(1)数据项
数据项
来源
数据类型
数据大小
约束条件
企业领导账号
企业领导信息表
char
20
unique
编号
Primarykey
密码
Notnull
管理员账号
管理员信息表
varchar
权限
部门信息表
10
部门名称
员工编号
企业员工信息表
姓名
性别
bit
出生日期
家庭住址
部门
籍贯
职务
学历
民族
职务信息表
职务名称
(2)数据流
数据流名来源去向
企业领导信息企业领导企业人事管理系统处
企业员工信息企业员工企业人事管理系统处
系统管理员信息系统管理员企业人事管理系统处
部门信息部门企业人事管理系统处
职务信息职务企业人事管理系统处
来源说明组成
存储了企业领导信息账号、密码、编号
存储了企业员工信息员工编号、姓名、性别、出生日期、家庭住址、部门、籍贯、职务、学历、民族
存储系统管理员信息账号、密码、编号、权限
存储了部门相关信息编号、员工编号、部门名称
存储了职务相关信息编号、员工编号、职务名称
(3)数据存储
数据存储编号:
01
数据存储名称:
说明:
存储了企业领导信息
流入的数据流:
企业领导信息
流出的数据流:
组成:
企业领导账号,编号,密码
02
系统管理员信息表
存储了系统管理员信息
系统管理员信息
系统管理员账号,编号,密码
03
存储了部门信息
企业员工信息,部门信息
部门信息
员工编号,编号,部门名称
04
存储了企业员工信息
企业员工信息
员工编号,姓名,性别,出生日期,家庭住址,部门,籍贯,职务,学历,民族
05
存储了职务的信息
企业员工信息,职务信息
职务信息
员工编号,编号,部门名称
3、数据库概念设计
3.1系统的局部E-R图
图3-1企业领导信息E-R图图3-2系统管理员信息E-R图
图3-3部门信息E-R图图3-4职务信息E-R图
图3-5企业员工信息E-R图
3.2系统全局E-R图
图3-2企业人事管理系统全局E-R图
4、数据库的逻辑设计
根据系统需求分析的得到的数据结构进行分析,得到如下关系并优化:
管理员关系模式(编号,账号,密码,权限)
企业领导关系模式(编号,账号,密码)
员工-部门关系模式(编号,员工编号,部门名称,姓名,性别,出生年月,民族,学历,籍贯,家庭住址,部门,职务)
员工-职务关系模式(编号,员工编号,职务名称,姓名,性别,出生年月,民族,学历,籍贯,家庭住址,部门,职务)
对员工-部门关系模式进行优化:
S1(编号,员工编号,部门名称),编号为主键
S2(员工编号,姓名,性别,出生年月,民族,学历,籍贯,家庭住址,部门,职务),员工编号为主键
S3(编号,员工编号,部门名称,姓名,性别,出生年月,民族,学历,籍贯,家庭住址,部门,职务),(编号,员工编号为主键)
由于员工编号传递依赖于编号,因此从关系S1中删除员工编号,部门,职务对员工编号存在传递依赖,从关系上中删除部门,职务。
S11(编号,部门名称)
S21(员工编号,姓名,性别,出生年月,民族,学历,籍贯,家庭住址)
对员工-职务关系模式进行优化:
S1(编号,员工编号,职务名称),编号为主键
S3(编号,员工编号,职务名称,姓名,性别,出生年月,民族,学历,籍贯,家庭住址,部门,职务),(编号,员工编号为主键)
S11(编号,职务名称)
5、数据库的物理设计
数据库物理设计阶段的任务是根据具体的计算机系统的特点,为给定的数据库系统确定合理的存储结构和存取方法。
所谓的“合理”有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度要体现在后者。
(1)存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。
所以,系统应将日志文件和数据文件存放在不同的磁盘上。
(2)评价物理结构
数据库物理结构设计过程中需要对时间效率,空间效率,维护代价和各种用户需求进行权衡,其结果可以产生多种方案,因此要从中选择一个最优的方案。
评价物理结构的方法依赖于所选用的DBMS,主要是定量估算各种方案的存储空间,存储时间和维护代价,对估算结果进行权衡,选择一个较优的物理结构。
6、系统的实现与调试
6、1建立数据库
createdatabase企业人事管理系统
on
(name=企业人事管理系统_dat,
filename='
D:
\datas\企业人事管理系统dat.mdf'
size=10,
maxsize=100,
filegrowth=5)
logon
(name=企业人事管理系统_log,
\datas\企业人事管理系统log.ldf'
size=5,
maxsize=20,
filegrowth=2)
6.2建立表
createtable企业领导
(编号char(20)primarykey,
账号char(20)unique,
密码char(20)notnull)
createtable系统管理员
(编号char(20)primarykey,账号char(20)unique,
createtable部门
(编号char(10)primarykey,
员工编号char(10),
部门名称char(10))
createtable企业员工
(员工编号char(10),姓名char(10)notnull,
性别bitnotnull,出生日期char(10),家庭住址char(10),
部门char(10)notnull,籍贯char(10),职务char(10),
学历char(10)notnull,民族char(10)notnull)
createtable职务
(编号char(10)notnull,员工编号char(10),
职务名称char(10)notnull)
6、3插入数据
6、4创建索引
6、5创建视图
createview企业领导信息(编号,账号,密码)
AS
select编号,账号,密码
fromdbo.企业领导
createview系统管理员信息(编号,账号,密码)
fromdbo.系统管理员
createview部门信息(员工编号,编号,部门名称)
select编号,部门名称,员工编号
fromdbo.部门
createview企业员工信息(员工编号,姓名,性别,出生日期,家庭住址)
select员工编号,姓名,性别,出生日期,家庭住址
fromdbo.企业员工
createview职务信息(员工编号,编号,职务名称)
select员工编号,编号,职务名称
fromdbo.职务
6、6创建触发器
1、创建一个名为“trig_1”的触发器,当向员工表添加记录时,该触发器自动显示员工表的所有信息。
createtriggertrig_1on企业员工
forinsert
as
select*from企业员工
2、创建名为“trig_2”的触发器,当向员工表修改记录时,该触发器自动显示修改前和修改后的记录
createtriggertrig_2on企业员工
forupdate
as
select*fromdeleted--修改前的数据
select*frominserted--修改后的数据
3、创建一个名为“trig_3”的触发器,当向员工表删除记录时,该触发器自动删除成绩表中与之相关的所有记录。
createtriggertrig_3on企业员工
fordelete
asdeletefrom企业员工
where员工编号in
(select员工编号fromdeleted)
6、7创建存储过程
1、创建存储过程proc1用于查看所有信息
createprocproc1
select*from企业领导,系统管理员,企业员工,部门,职务
execproc1
2、创建一个名为“proc2”的存储过程,用于向企业员工表的所有字段添加一条记录,记录内容由调用时决定。
然后调用该存储过程。
Createprocproc2
(@员工编号char(10),@姓名char(10),
@性别bit,@出生日期char(10),@家庭住址char(10),
@部门char(10),@籍贯char(10),@职务char(10),
@学历char(10),@民族char(10))
As
Insertinto企业员工values(@员工编号,@姓名,@性别,@出生日期,@家庭住址,@部门,@籍贯,@职务,@学历,@民族)
Execproc2@员工编号='
0004'
@姓名='
peter'
@性别='
1'
@出生日期='
1993-10-24'
@家庭住址='
London'
@部门='
002'
@籍贯='
@职务='
00001'
@学历='
博士'
@民族='
日耳曼'
3、创建名为proc3的存储过程,用于删除表中指定员工编号的员工的记录,具体员工编号由调用时决定。
然后调用该存储过程
Createprocproc3
(@员工编号char(10))
deletefrom企业员工
where员工编号=@员工编号
execproc3'
4、设计存储过程,实现根据传递参数(员工编号和部门编号)查询指定员工的部门名称。
createprocproc4
@员工编号char(10),
@编号char(10)
asselect企业员工.员工编号,姓名,部门.编号,部门.部门名称
from企业员工,部门
where企业员工.员工编号=部门.员工编号and企业员工.员工编号=@员工编号
and部门.编号=@编号
execproc4'
0001'
'
001'
5、设计存储过程,实现根据传递参数(员工编号和职务编号)查询指定员工的职务名称。
createprocproc5
asselect企业员工.员工编号,姓名,职务.编号,职务.职务名称
from企业员工,职务
where企业员工.员工编号=职务.员工编号and企业员工.员工编号=@员工编号
and职务.编号=@编号
execproc5'
7、课设总结
这次的课程设计基本达到了预设的目标,它能够实现对数据的存储,查询,修改等功能。
方便企业领导对数据的查看,也方便管理员对数据的更改和对系统的维护。
通过此次的课程设计我也学习到了很多的东西。
通过上网查阅资料,我见到了很多以前从来没有见过的东西。
通过对书本的反复翻阅,使我进一步熟悉了知识点,也更进一步推动了我对这些知识点的掌握和运用。
除此以外,也增进了我和同学之间的感情。
通过彼此的交流与沟通,让我们之间变得不再像以前那样的生疏。
但是由于自己的学艺不精和能力的局限性,系统还是有很多的不足,还不能够存储太大的数据,而且内容也相对的比较简单,安全防御阶段做的还不够好,希望以后能够多学习一些东西,能够尽最大的可能来弥补自己的不足。
这次的课程设计对我最大的影响就是让我看到了自身还有很多的不足,让我知道了独立思考的重要性。
我相信这次的经历将对我的未来也会产生很大的影响,只有勤于思考,动手去做,还要有坚持不懈,永不言弃的精神才能够取得最后的成功。