数据库课程设计人事管理系统.docx

上传人:b****3 文档编号:10911165 上传时间:2023-05-28 格式:DOCX 页数:15 大小:118.76KB
下载 相关 举报
数据库课程设计人事管理系统.docx_第1页
第1页 / 共15页
数据库课程设计人事管理系统.docx_第2页
第2页 / 共15页
数据库课程设计人事管理系统.docx_第3页
第3页 / 共15页
数据库课程设计人事管理系统.docx_第4页
第4页 / 共15页
数据库课程设计人事管理系统.docx_第5页
第5页 / 共15页
数据库课程设计人事管理系统.docx_第6页
第6页 / 共15页
数据库课程设计人事管理系统.docx_第7页
第7页 / 共15页
数据库课程设计人事管理系统.docx_第8页
第8页 / 共15页
数据库课程设计人事管理系统.docx_第9页
第9页 / 共15页
数据库课程设计人事管理系统.docx_第10页
第10页 / 共15页
数据库课程设计人事管理系统.docx_第11页
第11页 / 共15页
数据库课程设计人事管理系统.docx_第12页
第12页 / 共15页
数据库课程设计人事管理系统.docx_第13页
第13页 / 共15页
数据库课程设计人事管理系统.docx_第14页
第14页 / 共15页
数据库课程设计人事管理系统.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计人事管理系统.docx

《数据库课程设计人事管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计人事管理系统.docx(15页珍藏版)》请在冰点文库上搜索。

数据库课程设计人事管理系统.docx

数据库课程设计人事管理系统

1.2开发环境.................................................................................................1

1.系统概述

1.1系统开发背景和意义

随着计算机技术的飞速发展,计算机已深入到各个领域,并且形成了功能强大、覆盖全球的信息传输网络。

各个领域都向系统化、规范化、自动化的方向发展,使得工作效率、工作成绩和生活水平都日益提高。

人事管理是很多厂矿、公司、个体事业单位所须的,人事信息管理系统包括对人事信息的统计、查询、更新、打印输出等,如果靠人,工作量将很大,若公司人数有几万甚至更多,人工统计将变得不可想象,仅一些简单的操作便可及时、准确地通过计算机获得需要的信息。

计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。

计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。

经过分析,我们使用SQLServer2005和C#开发工具。

系统能够提供对人事信息输入、查询、编辑以及工资设定、查询、修改、算出工资发放各项合计数据;可自主设定条件从而达到对工资数据的多角度查询功能;方便导入、导出数据及输出报表。

财务部门人员以管理员身份登录,对本系统的可登录人员进行管理;实现了财务部门对本单位工资发放系统的集中管理,保证了系统的安全性。

1.2开发环境

开发环境的选择会影响到数据库的设计,所以在这里给出人事管理系统开发环境的选择如下:

开发环境:

Windows7

数据库管理系统:

MSSQLSERVER数据库

2.系统分析

2.1可行性分析

可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。

可行性分析一般可定义为:

可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是在对系统目标和环境精心分析的基础上,由于本系统知识面向机关和事业单位内人事信息管理人员和在职人员开发的信息管理系统,尽管这些人员可能没有使用过类似的系统,但是以Windows的友好界面和本系统良好的安全性设置,可以是人事信息管理员在专业人员的指导帮助下迅速掌握系统的操作方法。

本系统对计算机的硬件环境有一定的要求,对计算机的操作系统、内存、主频、外设等都有最低要求,如果低于这个要求将影响到本系统的正常运行。

机关和事业单位的人事信息管理目前还完全以传统的人工管理方式进行管理,耗时多,效率低下并且极容易出现错误。

由于认为失误而造成有形和无形的经济损失时间层出不穷,我们也无法估算出所造成损失的总额。

而利用计算机来实现人事管理以成为适应当今人事管理的方式。

开发一套能满足人事信息管理的软件是十分必要的,实现人事管理的自动化,在减少由于认为失误而造成损失的同时,也可以是认识信息管理部门减少许多费用支出,如实现自动化管理后可以精简人员,减少工资支出等。

由上述三方面的分析可以看出,本系统的开发时机已经成熟,从多种角度考虑开发此系统都是可行的,并且也是十分必要的。

2.2安全性、完整性分析

数据库的安全性是指保护数据库,以防止非法使用所造成的数据泄露、更改或破坏。

安全性问题有许多方面,在法律、社会、伦理方面,例如请求查询信息的人是否有合法的权利;法律控制方面,例如计算机机房或者中断是否应该加锁或用其他方法保护;政策方面,确定存取原则允许哪些用户存取哪些数据;运行于技术方面,使用口令时,如何使口令保持秘密;操作系统安全性方面,在主存储器和数据文件用过后,操作系统是否把它们的内容清除掉。

安全性控制的方法有用户的标识和鉴定,存取控制,定义视图,数据加密和审计等,在本系统中的安全性体现在用户的标识和鉴定,例如在登陆界面时,首先会输入账户名称,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供机器上对数据库的使用权。

当你不是该系统的合法用户时,则账号是错误的就无法进入该系统。

就用户存取权限控制而言,在系统登陆界面时会选择是一般用户登陆还是管理员登陆,当为一般用户登陆时,只能查询员工信息和部门信息,而不能对其进行管理。

当以管理员身份登陆时不仅仅可以查询部门和员工的基本信息,也可以对其进行添加、删除、修改等操作。

2.3需求分析

调查本地的企业,根据企业的具体情况分析、设计和实现企业人事管理系统。

其主要功如下:

1、人事档案管理:

户口状况、政治面貌、生理状况、合同管理等。

2、考勤、加班、出差管理。

3、人事变动:

新进员工登记、员工离职登记、人事变更记录。

4、考核奖惩。

5、员工培训。

6、系统维护:

操作员管理、权限设置等。

2.4系统模块设计

3.数据库设计

3.1数据字典

3.2系统数据流图

3.3数据库概念设计

数据库E—R图:

3.4数据库逻辑设计

由数据库E-R图,可得以下关系:

员工(员工编号,姓名,性别,政治面貌,出生日期,部门,职位,身份证号,民族)

加班(加班编号,员工编号,加班起始,加班结束)

出差(出差编号,员工姓名,出差起始,出差结束)

考勤(考勤编号,员工编号,考勤日期,上班时间,下班时间)

奖惩(奖惩编号,员工编号,奖惩方式,奖惩原因,奖惩日期)

职务调动(调动编号,员工编号,调往部门,调往职位,调动日期)

合同(合同编号,员工编号,合同起始,合同到期)

新员工(登记编号,员工编号,到港日期,部门,职位)

员工离职(离职编号,员工编号,部门,职位,离职日期)

薪资管理(薪资编号,员工编号,基本工资,总工资,发薪日期)

管理员(管理员编号,管理员姓名,管理员密码)

3.5数据库物理设计

数据库物理设计阶段的任务是根据具体的计算机系统的特点,为给定的数据库系统确定合理的存储结构和存取方法。

所谓的“合理”有两个含义:

一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度要体现在后者。

(1)存储结构

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。

将日志文件和数据库对象分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。

所以,系统应将日志文件和数据文件存放在不同的磁盘上。

(2)评价物理结构

数据库物理结构设计过程中需要对时间效率,空间效率,维护代价和各种用户需求进行权衡,其结果可以产生多种方案,因此要从中选择一个最优的方案。

评价物理结构的方法依赖于所选用的DBMS,主要是定量估算各种方案的存储空间,存储时间和维护代价,对估算结果进行权衡,选择一个较优的物理结构。

4.系统的实现与调试

4.1建立企业人事管理系统数据库

createdatabasemm

on

(name=mmdat,

filename='E:

\Study\SQL\mydata\mmdat.mdf',

size=100,

maxsize=300,

filegrowth=10)

logon

(name=mmlog,

filename='E:

\Study\SQL\mydata\mmdat.ldf',

size=50,

maxsize=150,

filegrowth=10%)

4.2建立了数据库的各基本表

建立员工表:

createtable员工表(

员工编号char(4)primarykey,

姓名char(10)notnull,

性别char

(2)check(性别in('男','女')),

出生日期char(16),

身份证号char(32)notnull,

民族char(16)default'汉',

职位char(16),

部门char(16),

政治面貌char(10)

);

建立新员工表:

createtable新员工表(

登记编号char(4)primarykey,

员工编号char(4),

部门char(16),

职位char(16),

入职日期char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立离职表:

createtable离职表(

离职编号char(4)primarykey,

员工编号char(4),

部门char(16),

职位char(16),

离职日期char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立人事表:

createtable人事表(

调动编号char(4)primarykey,

员工编号char(4),

调后部门char(16),

调后职位char(16),

调动日期char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立合同表:

createtable合同表(

合同编号char(4)primarykey,

员工编号char(4),

合同起始char(16),

合同到期char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立奖惩表:

createtable奖惩表(

奖惩编号char(4)primarykey,

员工编号char(4),

奖惩原因varchar(50),

奖惩方式char(10),

奖惩日期char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立加班表:

createtable加班表(

加班编号char(4)primarykey,

员工编号char(4),

加班起始char(16),

加班结束char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立出差表:

createtable出差表(

出差编号char(4)primarykey,

员工编号char(4),

出差起始char(16),

出差结束char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立考勤表:

createtable考勤表(

考勤编号char(4)primarykey,

员工编号char(4),

考勤日期char(16),

上班时间char(16),

下班时间char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立薪资表:

createtable薪资表(

薪资编号char(4)primarykey,

员工编号char(4),

基本工资char(10),

总工资char(10),

发薪日期char(16),

foreignkey(员工编号)references员工表(员工编号)

);

建立管理员表:

createtable管理员(

管理员编号char(4)primarykey,

管理员姓名char(10),

管理员密码char(8)

);

4.3插入数据

(1)

(2)

(3)

(4)

(5)

(6)

(7)

4.4建立索引

createindex员工表_姓名_indexon员工表(姓名)

createindex奖惩管理表_奖惩方式_indexon奖惩表(奖惩方式)

createindex薪资表_总工资_indexon薪资表(总工资)

4.5视图

(1)建立一个视图,反映员工姓名及工资情况。

createview员工_工资

as

select员工表.姓名,薪资表.*

from员工表,薪资表

where员工表.员工编号=薪资表.员工编号

(2)建立一个视图,反应管理员信息

createview系统管理员信息(编号,姓名,密码)

as

select管理员编号,管理员姓名,管理员密码

fromdbo.管理员

4.6存储过程

1、创建存储过程proc1用于查看所有信息

createprocproc1

as

select*from员工表,管理员,人事表

execproc1

2、设计存储过程,实现根据传递参数(员工编号和部门编号)查询指定员工的部门名称。

createprocproc4

@员工编号char(10),

@编号char(10)

asselect企业员工.员工编号,姓名,部门.编号,部门.部门名称

from企业员工,部门

where企业员工.员工编号=部门.员工编号and企业员工.员工编号=@员工编号

and部门.编号=@编号

execproc4'0001','001'

4.7触发器

(1)关键操作,在工资表里添加一条新的记录,实发工资会自动更新新的数据。

定义这个触发器名称为insert_工资。

代码如下:

createtriggerinsert_工资on薪资表forinsert

as

declare@ichar(20)

declare@bbint

set@i=case

when@bb=0001then'实发工资'

when@bb=0002then'实发工资'

end

print@i

(2)员工新调入

进行员工新调入操作是在员工信息表中添加一条新的记录,可以为员工信息表设计一个Insert触发器,当员工信息表执行Insert操作后自动更改出部门信息表相应记录的数据。

定义这个触发器名称为staff_insert。

其代码如下:

createtriggerstaff_inserton员工

forinsert

asif(selectcount(*)

from部门,inserted,工资

where部门.部门人数=inserted.部门人数and工资.工号=inserted.工号)=0

rollbacktransaction

go

4.8主要的查询SQL语句

(1)查询编号为1的员工姓名

selectdistinct姓名

from员工表

where员工编号=‘1’;

(2)查询工资编号为1的基本工资

select基本工资

from薪资表

where薪资编号=‘1’;

(3)查询14:

00点开始加班的人

select员工编号

from加班表

where加班起始=’14:

00’

(4)统计基本工资大于2000的人数

selectcount(基本工资)as人数

from薪资表

where基本工资>2000

(5)统计企业中经理的人数

selectcount(职位)as人数

from员工表

where职位='经理'

5.思考与总结

通过此次人事资源管理系统的数据库的课程设计,真正达到了学与用的结合,增强了我们对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,这次的课程设计,让我明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。

2周的设计使我和同学的关系更进一步了,有什么不懂的大家在一起商量,听听不同的看法,从中更好的理解知识,我觉得这样的课程设计特别有价值和实践意义。

在实验过程中,从建立数据开始,对于据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据流图的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,增强了自己在数据库中应用SQL语言的灵活性,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的人事资源管理信息系统的设计报告,学以致用,完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。

虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,不管怎么说,对这次做的课程设计自己觉得还算满意。

6.参考文献

1.王珊,萨师煊.数据库系统概论(第四版).北京:

高等教育出版社2006.5

2.孙春来.SQLServer中文版编程基础.上海:

电子工业出版社,2008:

195-210

3.知寒工作室.SQLServer2000案例教程.北京:

机械工业出版社,2007:

619-625

4.徐建平,赵永.SQLServer2000基础教程.北京:

机械工业出版社出版,2006:

51-69

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2